cc gcc g++

gcc:GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合

g++ 是C++编译器。

cc 是 Unix系统的 C Compiler,一个是古老的 C 编译器。而 Linux 下 cc 一般是一个符号连接,指向 gcc;可以通过 $ ls -l /usr/bin/cc 来简单察看,该变量是 make 程序的内建变量,默认指向 gcc 。 cc 符号链接和变量存在的意义在于源码的移植性,可以方便的用 gcc 来编译老的用cc编译的Unix软件,甚至连 makefile 都不用改在,而且也便于 Linux 程序在 Unix下 编译。

CC 则一般是 makefile 里面的一个名字标签,即宏定义,表示采用的是什么编译器(如:CC = gcc)。

有一个源代码hello.c
gcc -c hello.c //会生成hello.o 编译
gcc -o target hello.o //会生成target 链接

gcc hello.c -o hello
或gcc -Wall hello.c -o hello

./hello //运行

makefile的规则
target … : prerequisites …
command
target也就是一个目标文件; prerequisites就是要生成那个target所需要的文件或是目标; command也就是make需要执行的命令。(任意的Shell命令)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u012868357/article/details/80226361