请选择 进入手机版 | 继续访问电脑版

雨滴科技技术论坛

 找回密码
 立即注册
查看: 172|回复: 0

gcc常用编译选项

[复制链接]

55

主题

230

帖子

1461

积分

金牌会员

Rank: 6Rank: 6

积分
1461
扫一扫,手机访问本帖
发表于 2019-4-14 22:10:42 | 显示全部楼层 |阅读模式
本帖最后由 DataH 于 2019-4-14 22:10 编辑

1 gcc的使用方法
  1. gcc  [选项]   文件名
复制代码
2 gcc常用选项
  1. -v:查看gcc编译器的版本,显示gcc执行时的详细过程
  2. -o                 Place the output into
  3.                            指定输出文件名为file,这个名称不能跟源文件名同名
  4. -E                       Preprocess only; do not compile, assemble or link
  5.                            只预处理,不会编译、汇编、链接
  6. -S                       Compile only; do not assemble or link
  7.                            只编译,不会汇编、链接
  8. -c                       Compile and assemble, but do not link
  9.                            编译和汇编,不会链接   
复制代码
3 使用方式方式1:
  1. gcc hello.c  输出一个a.out,然后./a.out来执行该应用程序。

  2. gcc -o hello hello.c  输出hello,然后./hello来执行该应用程序。
复制代码
方式2:
  1. gcc -E -o hello.i hello.c
  2. gcc -S -o hello.s hello.i
  3. gcc -c -o hello.o hello.s
  4. gcc -o hello hello.o
复制代码
  1. .o:object file(OBJ文件)
复制代码
小结:
  1. 1)输入文件的后缀名和选项共同决定gcc到底执行那些操作。
  2. 2)在编译过程中,除非使用了-E、-S、-c选项(或者编译出错阻止了完整的编译过程)
  3.    否则最后的步骤都是链接。
复制代码
方式3:
  1. gcc -c -o hello.o hello.c
  2. gcc -o hello hello.o
复制代码
gcc会对.c文件默认进行预处理操作,-c再来指明了编译、汇编,从而得到.o文件再通过gcc -o hello hello.o将.o文件进行链接,得到可执行应用程序。4 链接
链接:就是将汇编生成的OBJ文件、系统库的OBJ文件、库文件链接起来,最终生成可以在特定平台运行的可执行程序。
4.1 链接的方式
  • 动态链接使用动态链接库进行链接,生成的程序在执行的时候需要加载所需的动态库才能运行。动态链接生成的程序体积较小,但是必须依赖所需的动态库,否则无法执行。
  • 静态链接使用静态库进行链接,生成的程序包含程序运行所需要的全部库,可以直接运行,不过静态链接生成的程序体积较大。


更完整的过程



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2019-7-21 17:35 , Processed in 0.061212 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表