gcc基本用法
gcc的用法:
最基本:
gcc [options] [filenames]
其中options是编译器所需要的参数,filenames给出相关的文件名称。
-o output_filename
确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
-lname
在连接时,装载名字为“libname.a”的函数库,该函数库位于系统预设的目录或者由-L选项确定的目录下。例如,-lm表示连接名为“libm.a”的数学函数库。
-Ldir
制定编译的时候,搜索库的路径 ,这个选项告诉连接程序,首先到-L指定的目录中去寻找,然后到系统预设路径中寻找
例子
gcc –lm -L/home/mylib ts.c –o ts.out
这时,预编译、编译连接ts.c,生成一个指定名称为ts.out的可执行文件,在编译过程中需要引入m库.对于一些标准库来说,我们没有必要指出路径.只要它们在起缺省库的路径下就可以了 , 系统的缺省库的路径/usr/lib /usr/local/lib /lib在这三个路径下面的库,我们可以不指定路径
纯gcc编程
一个程序从编码到生成二进制可执行文件步骤:
预处理:展开源文件的宏
编译:将源程序编译成汇编文件
汇编:将汇编文件编译成机器码
链接:将目标文件和外部符号进行链接,生成可执行文件
若纯用终端gcc编程的话:
filename:目标文件
run_filename:可执行文件
三个步骤:
1.创建目标文件
vi[filename].c
2.生成可执行文件
gcc[filename].c -o[run_filename]
3.运行可执行文件
./[run_filename]
注
:gcc中-c
生成对应目标文件,-o
生成二进制可执行文件
建议编程方式
打开主目录的文档
新建文档在终端输入指令:touch [filename].c
打开文件输入代码
在文档处打开终端
输入gcc [filename目标文件] -o [run_filename可执行文件]
来生成可执行文件run_filename
在文档处就会发现生成了hello的二进制可执行文件
输入./run_filename
运行可执行文件,获得结果