从名字上看,老的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。
分享到:
相关推荐
arm-linux-gcc和arm-elf-gcc 是嵌入式交叉编译工具最常用的,但是他们之间又怎样的区别呢?
从程序员的角度看,只需简单地执行一条GCC命令就可以了,但从编译器的角度来看,却需要完成一系列非常繁杂的工作。首先,GCC需要调用预处理程序cpp,由它负责展开在源文件中定义的宏,并向其中插入“#include”语句...
arm-linux-gcc arm-elf-gcc 区别 嵌入式编程
离线安装GCC与GCC-C++
gcc编译器完全介绍中文版 gcc编译器完全介绍中文版 gcc编译器完全介绍中文版
简单介绍gcc和g++ 的区别。以及简要举例分析
【定位问题】基于CC和GCC算法实现近场声源定位TDOA问题附matlab代码
GCC参数介绍. GCC参数介绍 GCC参数介绍.doc
C语言介绍与GCC
gcc参数很详细的介绍gcc参数很详细的介绍gcc参数很详细的介绍gcc参数很详细的介绍
gcc的参数介绍,适合开发人员gcc的参数介绍,适合开发人员
avr单片机与gcc编程的应用,详细介绍AVR的编程.GCC
gcc各版本文档,具体包括: gcc11_2、gcc10_3、gcc9_4、gcc8_5、gcc7_5、gcc6_5、gcc5_5、gcc4_9_4、gcc4_8_5、gcc4_7_4、gcc4_6_4、gcc4_5_4、gcc4_4_7、gcc4_3_6、gcc4_2_4、gcc4_1_2、gcc4_0_4、gcc3_4_6
gcc manual gcc手册 gcc manual gcc手册 gcc manual gcc手册 gcc manual gcc手册
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 4.1.2。如果是这种情况,可以在网上找一个与你系统相适应的如RPM...
AT&T汇编语言与GCC内嵌汇编简介 linux 内核 汇编 介绍以上内容。pdf文件
本文主要说名gcc的主要关键字,并有简单说明,相信看后会有对shell较快的进步
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 4.1.2。如果是这种情况,可以在网上找一个与你系统相适应的如RPM...
gcc、gcc++ 离线安装包
linux gcc中文参考手册 linux gcc选项介绍