一、使用gcc
gcc编译过程:
1 预处理
使用-E参数可以让gcc在预处理后停止编译过程。
gcc -E hello.c -o hello.i
2 编译
使用-c参数将预处理后的源文件编译为目标代码。
gcc -c hello.i -o hello.o
3 链接
将生成的目标代码链接成课执行文件。
gcc hello.o -o hello
二、gcc警告提示功能
使用-Wall参数使gcc产生尽可能多的警告信息。
gcc -Wall hello.c -o hello
使用-Werror参数使gcc把警告当成错误处理。
gcc -Werror hello.c -o hello
三、库依赖
使用-I参数可以向gcc的头文件搜索路径中添加新目录。
gcc hello.c -I /home/wuzhiguo/include -o hello
使用-L参数可以向gcc的库文件搜索路径中添加新目录。
gcc hello.c -L /home/wuzhiguo/lib -l mylib -o hello
-l mylib 是指示gcc去链接库文件libmylib.so。Linux下的库文件有一个约定,全部以lib开头,因此可以省去lib。
动态库:.so结尾,在运行时加载。
静态库:.a结尾,在编译时加载。
默认gcc优先加载动态库,可以在通过-static选项强制使用静态链接库。
gcc hello.c -L /home/wuzhiguo/lib -static -l mylib -o hello
qnamqj 于 2011-07-27 16:49:12发表:
一、使用gcc
gcc编译过程:
1 预处理
使用-E参数可以让gcc在预处理后停止编译过程。
gcc -E hello.c -o hello.i
2 编译
使用-c参数将预处理后的源文件编译为目标代码。
gcc -c hello.i -o hello.o
3 链接
将生成的目标代码链接成课执行文件。
gcc hello.o -o hello
二、gcc警告提示功能
使用-Wall参数使gcc产生尽可能多的警告信息。
gcc -Wall hello.c -o hello
使用-Werror参数使gcc把警告当成错误处理。
gcc -Werror hello.c -o hello
三、库依赖
使用-I参数可以向gcc的头文件搜索路径中添加新目录。
gcc hello.c -I /home/wuzhiguo/include -o hello
使用-L参数可以向gcc的库文件搜索路径中添加新目录。
gcc hello.c -L /home/wuzhiguo/lib -l mylib -o hello
-l mylib 是指示gcc去链接库文件libmylib.so。Linux下的库文件有一个约定,全部以lib开头,因此可以省去lib。
动态库:.so结尾,在运行时加载。
静态库:.a结尾,在编译时加载。
默认gcc优先加载动态库,可以在通过-static选项强制使用静态链接库。
gcc hello.c -L /home/wuzhiguo/lib -static -l mylib -o hello
goldenflame135 于 2011-05-19 13:06:08发表:
学习中。。。。
心蓝波波 于 2011-04-22 22:51:48发表:
哎呀,好老的帖子,没有新一点的么?
hml1006 于 2011-04-22 16:48:09发表:
了解
花开花败2011 于 2011-02-12 17:47:42发表:
软件开发者路线图:从学徒到高手
_iLu_ 于 2010-11-17 13:08:23发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:22发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:19发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:15发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:11发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:08发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:05发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:02发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:08:00发表:
新手摸索中!
_iLu_ 于 2010-11-17 13:07:56发表:
新手摸索中!
dudusdau 于 2009-10-16 17:30:39发表:
学习了:0)1