下面演示gcc对C源程序的分步编译过程:

1. 编译(Compile)

gcc hello.cpp -c    # 生成hello.o,目标文件名字和源文件名字一样,VC编译会生成.ojb文件,gcc编译器会生成.o文件

备注:

上面的编译实际上是 执行了两步操作: 编译 + 汇编,即先把C程序(.cpp)文件编译成 汇编文件(.s),再把汇编文件(.s)汇编成二进制文件(.o);

如果要想看到汇编文件(.s),可以用   gcc hello.cpp -S命令;

也就是说 gcc hello.cpp -c 等价于下面两条命令

gcc hello.cpp -S  # 把.cpp文件编译成 .s文件

gcc hello.s -c    # 把.s文件汇编成.o文件

2. 链接(Link)

gcc hello.o -o hello.exe  # 生成hello.exe文件

最新文章

  1. oracle sql查询转义下划线
  2. bzoj4349: 最小树形图&&bzoj2260: 商店购物
  3. ABAP 承运路单
  4. new road
  5. Google 宣布支持中文邮箱地址
  6. DataTable分组归类
  7. Android开发之实用小知识点汇总-2
  8. HBASE完全分布式模式的安装
  9. 1.1、Android Studio创建一个项目
  10. [C++学习历程]Visual Studio 2010 的HelloWorld
  11. 如何在springboot项目中进行XSS过滤
  12. Apache Druid架构原理与应用场景
  13. OpenStack的基础原理
  14. sysbench压力工具报错:
  15. linux find 命令
  16. 【环境变量】Linux 下三种方式设置环境变量
  17. Android实验一(在Android Studio中创建项目和模拟器)
  18. yii在哪些情况下可以加载yiilite.php?
  19. VS2012 Nuget 安装 AutoMapper时报错的解决方法
  20. 如何从Windows远程上传文件到Linux(例如CentOS 7)

热门文章

  1. Akka系列(八):Akka persistence设计理念之CQRS
  2. Maven从入门到精通(三)
  3. bi的tableau
  4. Python 入门之 内置模块 -- collections模块
  5. gitlab 安装、配置
  6. vue中如何开发插件
  7. $id(id)函数
  8. redis、rabitmq对比
  9. 阿里服务器+Centos7.4+Tomcat+JDK部署
  10. 关于IDEA中@Autowired 注解报错~图文