首页 > 编程知识 正文

gcc命令详解,gcc编译指令集

时间:2023-05-05 20:54:54 阅读:21257 作者:1606

个人资料

GNU-c-compiler (gcc ),但不仅限于c语言,还支持C JAVAOBJECIVE CPASCAL等,用于GNU Complier Collection,即GNU编译器系列

一些简单的命令

gcc hello.c -o hello

上面的话在实际过程中分为四个步骤

gcc -E hello.c -o hello.i //1,预处理

gcc -S hello.i -o hello.s //2,编译(汇编代码输出) ) )。

gcc -c hello.s -o hello.o //3,汇编

gcc hello.o -o hello //4,链接

此外,多个指令编译指令如下

gcc hello1.c hello2.c -o hello

检测错误

出示不符合gcc-pedantic hello.c-o hello//ansi/iso标准的代码

gcc -Wall hello.c -o hello //提出尽可能多的警告

将gcc -Werror hello.c -o hello //警告作为错误退出编译

库文件链接

指向库文件的链接必须知道所需库文件的包含文件目录和lib文件目录。

gcccI包含文件目录hello.co hello.o//编译为可执行文件

gcc -L lib文件目录-参数hello.o -o hello//链接

文件链接有两种类型

动态链接库(.so末尾) :运行时动态加载

基于静态链接(末尾. a ) :在编译时静态加载

静态库链接时的搜索路径顺序:

ld去找GCC命令的参数-L

查找gcc的环境变量LIBRARY_PATH

查找内定名单/lib /usr/lib /usr/local/lib这是当初compile gcc时在程序内写的

动态链接时、运行时搜索路径顺序:

编译目标代码时指定的动态库搜索路径

由环境变量LD_LIBRARY_PATH指定的动态库搜索路径

在配置文件/etc/ld.so.conf中指定的动态库搜索路径

默认动态库搜索路径/lib

默认动态库搜索路径/usr/lib

关于环境变量:

LIBRARY_PATH环境变量:指定程序静态链接库文件的搜索路径

LD_LIBRARY_PATH环境变量:指定程序动态链接库文件的搜索路径

参考

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。