clang编译器常用操作命令
使用clang编译器,常用编译命令选项先在某个目录下使用vim编译器建一个.c文件,方法:vim hello.c //生成一个.c文件进入编辑输出值后Esc-> :wq编辑内容:#include <studio.h>int main(){printf("hello world");return 0;}#clang hello.c#ls //查看该目录下文件#./a.out //执
使用clang编译器,常用编译命令选项
先在某个目录下使用vim编译器建一个.c文件,方法:
vim hello.c //生成一个.c文件进入编辑输出值后Esc-> :wq
编辑内容:
#include <studio.h>
int main()
{
printf("hello world");
return 0;
}
#clang hello.c
#ls //查看该目录下文件
#./a.out //执行该文件输出值 ./表示在当前目录,a.out为可执行程序文件名
常用编译命令选项
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++库。
二. 多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为hello.c和hi.c]
1. 多个文件一起编译
用法:#gcc hi.c hello.c -o hello
作用:将hi.c和hello.c分别编译后链接成hello可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。 用法:
#clang -c hi.c //将hi.c编译成hi.o #clang -c hello.c //将hello.c编译成hello.o
#gcc -o hi.o hello.o -o hello //将hi.o和hello.o链接成hello 以上两种方法相比较,第一种方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。
更多推荐
所有评论(0)