`

CC与GCC的区别概括介绍

阅读更多

从名字上看,老的unix系统 的CC程序叫做C Compiler。但GCC这个名字按GNU的说法叫做Gnu Compiler Collection。因为gcc包含很多编译器(C, C++, Objective-C, Ada, Fortran,and   Java)。所以它们是不一样的,一个是一个古老的C编译器,一个是编译器的Gnu的编译器的集合(Gcc里的C编译器比CC强大太多了,所以你没必要用 CC)。当你调用gcc时不一定是调用的C/C++编译器,是gcc根据文件扩展名自动识别并调用对应的编译器,具体可查阅$man gcc。

你是下载不到CC的,原因是:CC来自于昂贵的Unix系统,CC是商业软件,要想用你需要打电话,写订单,而不是打开你的Browser去download。

linux 下的cc是gcc的符号链接。可以通过$ls –l /usr/bin/cc来简单察看.而编译时看到的控制台输出CC则是一个指向gcc的变量,该变量是make程序的内建变量,就算你在Makefile 中没有CC= ,该变量也会存在,并默认指向gcc。cc的符号链接和变量存在的意义在于源码的移植性,可以方便的用GCC来编译老的用cc编译的unix软件,甚至连 Makefile都不要改。而且也便于linux程序在unix下编译。

近 几年的一个新情况是越来越多的unix用户,据我所知像solaris,bsd用户也不太使用CC了,人们都一定要装一个gcc,用它来编译C/C++程 序。原因显而易见,gcc足够强大,健壮。支持估计目前为止只有它支持的ISO c/c++ 新特性。当然你最好不要使用night版本的gcc。

分享到:
评论

相关推荐

    cc2640r2_blinky:TI CC2640R2启动板的闪烁模板项目(基于GCC + Make + OpenOCD)

    概括 这是TI CC2640R2启动板的示例项目,旨在使用标准工具进行构建。 不需要Code Composer Studio(aka CCS)来构建,刷新或调试该项目,即可以通过命令行来完成。 依存关系 具有Cortex-M3支持的arm-none-eabi-gcc ...

    gcc编译器

    概括 gcc(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库。(如libstdc++,libgcj等) ...

    如何交叉编译一个基于LoongArch架构的LFS(Linux From Scratch)系统。.zip

    export CC=loongarch64-linux-gnu-gcc export CXX=loongarch64-linux-gnu-g++ export AR=loongarch64-linux-gnu-ar export RANLIB=loongarch64-linux-gnu-ranlib ``` 4. **构建基础工具**:按照LFS书籍的顺序...

    makefile中文版

    - 静态模式规则的语法及其与隐含规则的区别。 **4.13 双冒号规则** - 双冒号规则的定义及其与普通规则的区别。 **4.14 自动产生依赖** - 如何自动生成依赖关系。 #### 五、规则的命令 - 规则中的命令是用来...

    C、C 学习编程.doc

    - 不同的UNIX平台通常有特定的编译器,例如Sun Solaris上的`sun CC`和`cc`,Alpha上的`cxx`和`cc`,HP的`aCC`,以及IBM的`xlC`。 7. **Solaris下的进程信息获取**: - 在Solaris系统中,可以通过读取`/proc`目录...

    ARMS3C44B0-uclinux实验指导书

    CC = arm-linux-gcc CFLAGS = -Wall -g LDFLAGS = all: hello hello: hello.c $(CC) $(CFLAGS) -o $@ $$(LDFLAGS) clean: rm -f *.o hello ``` - **编译应用程序:** 在命令行中输入`make`即可自动编译程序...

    GDB完全中文手册.pdf

    GDB的主要功能可以概括为以下几点: 1. 启动并运行程序。GDB允许用户按照自定义的要求来启动和运行程序,你可以自定义程序运行的参数,甚至是在特定条件下启动。 2. 设置断点。用户可以在指定的代码行或条件表达式处...

    GNU make中文手册

    - 例如,`%.o: %.c`规则可以与`cc`的隐含规则一起使用。 **3.13 双冒号规则:** - 双冒号规则允许定义多个独立的规则。 - 例如,一个目标可以有多个独立的构建路径。 **3.14 自动产生依赖:** - make可以通过...

Global site tag (gtag.js) - Google Analytics