LLVM系列(三)小插曲---Clang的常用命令

预定义宏表:

__LINE__ 当前程序行的行号,表示为十进制整型常量
__FILE__ 当前源文件名,表示字符串型常量
__DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。
TIME 转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。

Clang常用编译命令:

1. 无选项编译链接
用法:#clang hello.c
作用:将hello.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。编译成功后可以看到生成了一个a.out的文件。在命令行输入./a.out 执行程序。./表示在当前目录,a.out为可执行程序文件名。

2. 选项 -o
用法:#clang hello.c -o hello
作用:将hello.c预处理、汇编、编译并链接形成可执行文件hello.c。-o选项用来指定输出文件的文件名。输入./hello执行程序。

3. 选项 -E
用法:#clang -E hello.c -o hello.i
作用:将hello.c预处理输出hello.i文件。

4. 选项 -S
用法:#clang -S hello.i
作用:将预处理输出文件hello.i汇编成hello.s文件。

5. 选项 -c
用法:#clang -c hello.s
作用:将汇编输出文件hello.s编译输出hello.o文件。

6. 无选项链接
用法:#clang hello.o -o hello
作用:将编译输出文件hello.o链接成最终可执行文件hello。输入./hello执行程序。

如果想直接输入hello就运行,需要把hello复制到目录/usr/bin下

7. 选项-O
用法:#clang -O1 hello.c -o hello
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。输入./hello执行程序。

8.编译使用C++ std库的程序
用法:#clang hello.cpp -o hello -l std c++ 作用:将hello.cpp编译链接成test可执行文件。-l  std  c++指定链接std c++库。

9. 分别编译各个源文件,之后对编译后输出的目标文件链接。 用法:
#clang -c hi.c         // 将hi.c编译成hi.o

#clang -c hello.c    // 将hello.c编译成hello.o

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值