Gcc学习笔记

1. 编译C文件生成可执行文件(后续例子如无特殊说明均为C文件):

gcc helloWorld.c

2. 编译C++文件生成可执行文件(用g++):

g++ helloWorld.cpp

3. 编译带报错(-Wall)与调试信息(-g)的可执行文件(推荐!):

gcc -Wall -g hello.c

4. 指定编译后文件的文件名(-o,不写-o默认命名为a.out)

gcc -Wall -g hello.c -o hello.exe

5. 编译成汇编代码(-S)

gcc -S hello.c -o hello.s

6. 使用编译优化(-O1 -O2 -O3 数值越大效果越好)

gcc -O1 hello.c -o hello.exe

7. 编译多个源文件的程序(不用把.h文件也写进来)

gcc -Wall -g hello1.c hello2.c -o hello.exe

8. 连接外部库(-l +库名)

gcc -Wall -g cale.h -lm -o cale.exe
上例为连接数学库libm.so,去掉前缀lib,去掉后缀.so,剩下的就是库名了(剩下了m),所以连接这个库写-lm


9. make的使用

当源文件很多的时候可以使用make命令,在使用该命令之前,需要先在同文件夹下创建一个makefile文件,该文件内容的格式为:

目标文件:依赖文件
命令
注:如果冒号下面接换行,必须输入Tab键(别的键不可以)。


下面是一个makefile文件的例子:

CC=gcc
CFLAGS=-Wall
hello.exe:hello1.o hello2.o
clean:
rm -f hello.exe hello1. hello2.o
这里hello1.o与hello2.o会根据相应的.c文件自动关联,不用担心。

上面CC的意思是使用的编译器(C++填写g++),CFLAGS如名字所示,就是后面跟的选项。


创建好makefile文件之后,我们就可以使用make命令了,编译命令:

make
简单易懂。。。


使用makefile中的命令:

make clean
同样简单易懂。。。

你可能感兴趣的:(Linux)