多文件使用,一起编译

定义max.h

int max(int a,int b);

定义max.c

#include "max.h"
int max(int a,int b)
{
if (a > b) {
return a;
} else {
return b;
}
}

定义主c文件

#include <stdio.h>
#include "max.h"
int main()
{
int a1 = 22;
int a2 = 33;
int maxNum = max(a1,a2);
printf("the max value is %d\n",maxNum);
return 0;
}

编译执行!

root@jiqing-virtual-machine:~/cspace/les2# gcc max.c main.c -o main.out

查看

root@jiqing-virtual-machine:~/cspace/les2# ./main.out
the max value is 33

分别编译

头文件的好处,一次编译,多次使用。

只需要引入声明就可以了。

root@jiqing-virtual-machine:~/cspace/les2# gcc max.o min.o main.c
main.c: In function ‘main’:
main.c:8:18: warning: implicit declaration of function ‘max’ [-Wimplicit-function-declaration]
int maxNum = max(a1,a2);
^
main.c:9:18: warning: implicit declaration of function ‘min’ [-Wimplicit-function-declaration]
int minNum = min(a1,a2);
^

没有声明,会报错。

#include <stdio.h>
//#include "max.h"
//#include "min.h"
int main()
{
int a1 = 22;
int a2 = 33;
int maxNum = max(a1,a2);
int minNum = min(a1,a2);
printf("the max value is %d\n",maxNum);
printf("the min value is %d\n",minNum);
return 0;
}

将注释的去掉就可以了。

单个编译max.c,min.c

root@jiqing-virtual-machine:~/cspace/les2# gcc -c max.c -o max.o
root@jiqing-virtual-machine:~/cspace/les2# gcc -c min.c -o min.o

编译成max.o和min.o之后,计算机就能够识别了。

以后可以在多个c文件中使用。只需要引入头文件h就可以了。

root@jiqing-virtual-machine:~/cspace/les2# gcc max.o min.o main.c -o main.out

root@jiqing-virtual-machine:~/cspace/les2# ./main.out
the max value is 33
the min value is 22

Linuxc - 多c文件程序编译执行的更多相关文章

  1. C程序编译执行过程

    C程序编译执行过程   认识C编译执行过程,是C学习的开端. 简单说C语言从编码编译到执行要经历一下过程:   C源代码 编译---->形成目标代码,目标代码是在目标机器上运行的代码. 连接-- ...

  2. Java文件手动编译执行步骤

    Java编译执行步骤: 1)将 Java 代码编写到扩展名为 .java 的文件中.2)通过 javac 命令对该 java 文件进行编译.3)通过 java 命令对生成的 class 文件进行运行. ...

  3. ubuntu 16.04 上opengl 的安装以及例子程序编译执行

    因为最近在移植 Qt5.7 + opengl , 遇到了难以越过的山峰,没有办法,试着在 ubuntu 16.04上将 opengl 配置以下,记录: 安装相关的库: sudo apt-get ins ...

  4. c++应用程序文件的编译过程

    这里讲下C++文件的编译过程及其中模板的编译过程: 一:一般的C++应用程序的编译过程.     一般说来,C++应用程序的编译过程分为三个阶段.模板也是一样的. 在cpp文件中展开include文件 ...

  5. JAVA 文件编译执行与虚拟机(JVM)简单介绍

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 ...

  6. 编译 & 执行 C++ 程序

    编译 & 执行 C++ 程序接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它.下面是简单的步骤: 打开一个文本编辑器,添加上述代码.保存文件为 hello.cpp.打开命令提 ...

  7. [转]c++应用程序文件的编译过程

    原文地址 这里讲下C++文件的编译过程及其中模板的编译过程: 一:一般的C++应用程序的编译过程.    一般说来,C++应用程序的编译过程分为三个阶段.模板也是一样的. 在cpp文件中展开inclu ...

  8. 问题:程序编译通过,但是执行时报错:coredump

    问题描述: 在一个客户现场搭建环境时,遇到了一个棘手的问题,C代码编译通过后,无法正常运行,启动会出现“coredump”错误. 运行环境为新搭建的AIX6.1,数据库为Oracle11.2.0.2. ...

  9. C程序编译和执行

    编译 & 执行 C 程序 首先准备一个源码文件 hello.c 键入如下代码: #include <stdio.h> int main() { /* 我的第一个 C 程序 */ p ...

随机推荐

  1. Linux : screen 工具详解

    转自:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html [ Screen 官方站点 ] 背景 系统管理员经常需要SSH 或者t ...

  2. [js高手之路] vue系列教程 - vue的基本用法与常见指令(1)

    本系列课程选用vue的版本为1.0.21, 什么是vue? vue是由尤雨溪开发的一款基于MVVM的框架,M->模型,V->视图, 也就是说模型数据改变了,视图也跟着改变, 视图内容改变, ...

  3. Go Language 开发环境搭建

    [前言] Go语言是Google公司2009年发布的新一代的开发语言,其最大的亮点是原生自带并发,在合适的场合使用合适的代码,我们的系统将会更加完美.下面我们进行go语言的安装和配置. 一.下载安装 ...

  4. 欢迎来到Hadoop

    What Is Apache Hadoop? Hadoop是一个可靠的.可扩展的.分布式计算的开源软件. Hadoop是一个分布式处理大数据的框架.它被设计成从一台到上千台不等的服务器,每个服务器都提 ...

  5. 线上服务器上安装的VNCServer不能正常工作

    1.问题描述: 线上服务器上安装的不能正常工作 2.解决问题过程: 一. 重启vncserver 运行命令:vncserver -kill :1和vncserver :1 二. 发现vncserver ...

  6. python_IO编程

    本篇文章将介绍python里面的I/O编程.更多内容请参考:python学习指南 I/O编程 读写文件时最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们必须了解 ...

  7. 【vue系列之三】从一个vue-pdf-shower,说说vue组件和npm包

    前言 从去年年初开始,自己便下决心要写一个vue系列的博客,但时至今日,才写系列的第三篇博客,想来甚是惭愧. 但是慢归慢,每一篇都要保证质量,以及要写出自己的心路历程,防止自己工作中填的坑再让读者走一 ...

  8. App开发 对生命周期的处理

    //获取到当前所在的视图 - (UIViewController *)presentingVC:(UIApplication *)application{ UIWindow * window = ap ...

  9. ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)

    前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ...

  10. 手把手教你用Vue造轮子(3):开发可排序的表格组件

    前言 最近闰土大叔跟Vue干上了,没办法,公司业务驱动,不用Vue没招啊,leader尝到了前后端分离带来的好处,除非你离职,哈哈哈,当然,那是不可能的,对于我这种要攒钱买房子的人来说.那还说什么呢, ...