gcc 和 make的使用
2014-04-26 10:53
120 查看
1. 宏定义指令
经常使用的伪指令有#define 和 #undef 。对于#define ,其使用方法为” #define name string “ .预编译程序将源程序中出现的"name" 的地方用"string"进行替换。但是对于字符串常量中的“name"则不会替换。
2. 条件编译指令
#ifdef , #ifndef , #else , #elif , #endif
比如打印调试信息:
int main()
{
#ifdef DEBUG
fprintf(stderr , "Debug information...\n");
#endif
......
}
测试环境下编译:gcc -DDEBUG xxx.c -o xxx
正式环境下编译:gcc xxx.c -o xxx
3. gcc常用语法
-c:只进行编译,而不进行链接。输出一个与源文件同名的.o文件
-o:链接生成可执行文件。可指定生成文件的名称。如 -o name
-I dirname:将dirname所指的目录加入到“头文件搜索目录列表”中。
-L dirname:将dirname所指的目录加入到“函数库(.a , .so)搜索目录列表“中
-lname:在链接的过程中加载名字为”libname.a"的函数库。例如,-lc表示链接名为“libc.a”的函数库。
4. 生成动态链接库
编译:fcc -fPIC -c xxx.c
-fPIC 选项的含义是通知gcc 编译器产生可以重定位的目标代码
链接:gcc -shared -o libxxx.so xxx.o
通过链接,即可生成动态链接库
5. make 和 makefile
make 通过makefile文件来描述源程序之间的相互关系
基本语法:
目标文件:依赖的文件(可以是多个)
<Tab> Command
例子:
edit : main.o libedit.o
gcc -o edit main.o libedit.o
main : main.c
gcc -c mian.c
libedit.o : libedit.c libedit.h
gcc -c libedit.c
clean :
rm main.o libedit.o
经常使用的伪指令有#define 和 #undef 。对于#define ,其使用方法为” #define name string “ .预编译程序将源程序中出现的"name" 的地方用"string"进行替换。但是对于字符串常量中的“name"则不会替换。
2. 条件编译指令
#ifdef , #ifndef , #else , #elif , #endif
比如打印调试信息:
int main()
{
#ifdef DEBUG
fprintf(stderr , "Debug information...\n");
#endif
......
}
测试环境下编译:gcc -DDEBUG xxx.c -o xxx
正式环境下编译:gcc xxx.c -o xxx
3. gcc常用语法
-c:只进行编译,而不进行链接。输出一个与源文件同名的.o文件
-o:链接生成可执行文件。可指定生成文件的名称。如 -o name
-I dirname:将dirname所指的目录加入到“头文件搜索目录列表”中。
-L dirname:将dirname所指的目录加入到“函数库(.a , .so)搜索目录列表“中
-lname:在链接的过程中加载名字为”libname.a"的函数库。例如,-lc表示链接名为“libc.a”的函数库。
4. 生成动态链接库
编译:fcc -fPIC -c xxx.c
-fPIC 选项的含义是通知gcc 编译器产生可以重定位的目标代码
链接:gcc -shared -o libxxx.so xxx.o
通过链接,即可生成动态链接库
5. make 和 makefile
make 通过makefile文件来描述源程序之间的相互关系
基本语法:
目标文件:依赖的文件(可以是多个)
<Tab> Command
例子:
edit : main.o libedit.o
gcc -o edit main.o libedit.o
main : main.c
gcc -c mian.c
libedit.o : libedit.c libedit.h
gcc -c libedit.c
clean :
rm main.o libedit.o
相关文章推荐
- Linux 下gcc,make的使用
- solaris工具的安装,使用和注意事项(gcc,gzip,make,nmap,wget)
- Linux内核|实验二 gcc与make使用
- Centos7 安装GCC编译器 make编译命令 wget下载命令 使用yum 在线安装
- [搬家帖]gcc/make使用笔记
- ./configure make make install 以及gcc 使用库的一些问题
- linux工具使用:vi,gcc,gdb,make
- vim gcc gdb make的使用
- linux gcc make命令使用规则
- 菜鸟学习历程【2】vim的简单操作、GCC工具链、make和Makefile、GDB调试工具、Shell使用基础
- windows像linux般使用gcc,make等工具
- GCC使用手册及常用命令行
- 深入讲解GCC和Make的区别(有涉及makefile文件哟!!!)
- gcc使用简介
- Make 学习笔记三-使用变量
- 如何使用高版本gcc 静态链接 (gcc 7.2 如何静态链接)
- GCC使用入门(一)
- GCC警告选项及使用
- windows 下使用gcc
- 关于gcc -o 的使用问题