红联Linux门户
Linux帮助

gcc编译器的学习

发布时间:2008-06-08 01:13:46来源:红联作者:theset
一、使用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
文章评论

共有 16 条评论

  1. 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

  2. goldenflame135 于 2011-05-19 13:06:08发表:

    学习中。。。。

  3. 心蓝波波 于 2011-04-22 22:51:48发表:

    哎呀,好老的帖子,没有新一点的么?

  4. hml1006 于 2011-04-22 16:48:09发表:

    了解

  5. 花开花败2011 于 2011-02-12 17:47:42发表:

    软件开发者路线图:从学徒到高手

  6. _iLu_ 于 2010-11-17 13:08:23发表:

    新手摸索中!

  7. _iLu_ 于 2010-11-17 13:08:22发表:

    新手摸索中!

  8. _iLu_ 于 2010-11-17 13:08:19发表:

    新手摸索中!

  9. _iLu_ 于 2010-11-17 13:08:15发表:

    新手摸索中!

  10. _iLu_ 于 2010-11-17 13:08:11发表:

    新手摸索中!

  11. _iLu_ 于 2010-11-17 13:08:08发表:

    新手摸索中!

  12. _iLu_ 于 2010-11-17 13:08:05发表:

    新手摸索中!

  13. _iLu_ 于 2010-11-17 13:08:02发表:

    新手摸索中!

  14. _iLu_ 于 2010-11-17 13:08:00发表:

    新手摸索中!

  15. _iLu_ 于 2010-11-17 13:07:56发表:

    新手摸索中!

  16. dudusdau 于 2009-10-16 17:30:39发表:

    学习了:0)1