linux C下多文件编译,以及Makefile的使用
由于在C语言中,不能把所有的代码都放在一个.c文件里面,这样这个.c文件会很大,而且代码维护起来会很麻烦。
于是在网上找了些C语言多文件编程的示例,记录下我的学习过程。
我们可以把我们的代码按功能进行划分,一些源文件存放函数的实现,一些头文件声明这些函数,这样代码会更有条理。
头文件的大致格式:
#ifndef _ABC_H_ #define _ABC_H_ //以上代码是为了防止这个头文件被多次包含,确保名字唯一 //宏定义 #define _MAX 100 //结果体声明 typedef struct{ int a; }ABC; //函数声明 void abcfun(void); ... #endif
接下来介绍下多文件编程的小例子
功能:在main.c里面调用其他两个源文件里面的函数,然后输出字符串。
1、main.c
#include"mytool1.h" #include"mytool2.h" int main(int argc,char** argv) { mytool1_printf("hello."); mytool2_print("hello"); return 1; }
2、 mytool1.h mytool1.c
//mytool1.h #ifndef _MYTOOL_1_H #define _MYTOOL_2_H void mytool1_printf(char* print_str); #endif //mytool1.c #include"mytool1.h" #include<stdio.h> void mytool1_printf(char* print_str) { printf("This is mytool1 print %s\n",print_str); }
3、 mytool2.h mytool2.c
//mytool2.h #ifndef _MYTOOL_2_H #define _MYTOOL_2_h void mytool2_print(char* print_str); #endif //mytool2.c #include "mytool2.h"
#include<stdio.h> void mytool2_print(char* print_str) { printf("This is mytool2 print %s\n",print_str); }
在linux下,把这几个文件放在同一个目录下,然后在shell中输入
gcc -c main.c gcc -c mytool1.c gcc -c mytool2.c gcc -o main main.o mytool1.o mytool2.o
就可以生成可执行文件 main
关于 Makefile 还没学清楚,学清楚了补充。
引用:
http://blog.163.com/m13591120447_1/blog/static/21637918920132365724538/
http://soft.chinabyte.com/os/12/11584512.shtml
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。