关于Clang的编译使用

本文详细介绍了在Windows环境下使用Clang编译C/C++程序的步骤,包括预处理、编译、汇编和链接四个阶段,并重点讲解了如何通过命令行包含外部头文件、静态库和动态库,以及链接静态库的两种方法。
摘要由CSDN通过智能技术生成

关于Windows下C/C++的编译

一、前提

  在 C / C + + C/C++ C/C++编译器中,我们编译程序的过程主要分成以下四个阶段。

  • 预处理
  • 编译
  • 汇编
  • 链接

  具体的实现过程是按照以下的方式来进行的。接下来我们以 c l a n g clang clang这个编译器为例,以及 t e s t . c p p test.cpp test.cpp这个文件为源文件完成对以上过程的理解。

(一)预处理

  这一阶段的过程主要是对包含源代码的文本文件进行处理。主要的处理内容就是将在源文件中包含的头文件加载到文件中,替换宏定义等等。最终生成的文件是以 . i .i .i结尾的文本文件。

clang++ -E test.cpp -o test.i
(二)编译

  这个阶段是将预处理得到的文件经由编译器变成汇编语言。汇编语言中的每一条语句都以一种标准的文本格式准确的描述一条地址机器指令。在这个阶段生成的文件才是机器相关的代码。这个阶段生成以 . s .s .s结尾的汇编文本文件。

clang++ -S test.i -o test.s
(三)汇编

  这个阶段就是将上一步得到的汇编文件汇编成机器指令,从而把这些指令打包成为一种可重定向的目标程序格式。这个时候生成以 . o ​ .o​ .o结尾的二进制文件。

clang++ -c test.s -o test.o
(四)链接

  这个阶段主要是处理在文件中调用了系统库例如 c i n cin cin等函数,那么就需要将系统库中的 c i n . o cin.o cin.o合并到我们生成的 t e s t . o test.o test

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值