最简单的编译指令为:
gcc hello.c -o hello
-o后面跟着的是输出文件名,这里为hello,当然也可以省略不写,这样的话默认输出 a.out
-l参数和-L参数
这是经常遇到的两个参数 ,先说-l
-l参数(小写l(mln的l))
用来指定程序要链接的库,-l参数紧接着就是库名就拿数学库来说,他的库名是m,他的库文件名是libm.so把库文件名的头lib和尾.so去掉就是库名了,在编译时跟 -lm就可以来 ;gcc hello.c -o hello -lm。
需要注意的是 放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,就需要用到 -L啦
-L参数
假如把libtest.so放在/a/b/c目录下,那链接参数就是-L/a/b/c -ltest ,显而,-L需要一个完整的路径。
-include和-I参数
-include
跟你理解的一样,它用来包含头文件
-I (abcdefghi的I)
这参数用来指定头文件目录,/usr/include目录一般是不用指定的,gcc回自己找,但是如果头文件不在/usr/include里就要用-I参数指定了,实例 头文件放在a/b/myinclude目录里,那编译命令行就要加上-Ia/b/myinclude参数