linux命令cc与gcc比较

61 篇文章 0 订阅
37 篇文章 1 订阅

文章来自:http://www.360doc.com/content/10/0819/09/935385_47111428.shtml

从名字上看,老的unix系统的cc程序叫做c compiler。但gcc这个名字按gnu的说法叫做gnu compiler collection。因为gcc包含很多编译器(c,c++,objective-c,ada,fortran,java)。所以它们是不一样的,一个是一个古老的c编译器,一个是编译器的gnu的编译器的集合(gcc里面的c编译器比cc强大的多了,所以你没必要用cc)。当你调用gcc时不一定调用的是c/c++编译器,是gcc根据文件扩展名自动识别并调用对应的编译器,具体可查阅man手册(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。

 

Linux中更新gcc命令的步骤如下: 1. 首先,为了不覆盖原来的gcc命令,需要备份原来的相关内容。可以执行以下命令: ``` mv /usr/bin/gcc /usr/bin/gcc485 mv /usr/bin/g++ /usr/bin/g++485 mv /usr/bin/c++ /usr/bin/c++485 mv /usr/bin/cc /usr/bin/cc485 mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak ``` 这样可以将原来的gcc命令备份到相应的目录下。 2. 安装新版本的gcc后,新的gcc命令位于/usr/local/bin目录下。为了让系统能够找到新的gcc命令,需要创建软链接。可以执行以下命令: ``` ln -s /usr/local/bin/gcc /usr/bin/gcc ln -s /usr/local/bin/g++ /usr/bin/g++ ln -s /usr/local/bin/c++ /usr/bin/c++ ln -s /usr/local/bin/gcc /usr/bin/cc ln -s /usr/local/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6 ``` 这样可以创建软链接,将新版本的gcc命令与系统路径关联起来。 3. 如果需要在特定目录下使用新版本的gcc,可以使用cd命令切换到相应的目录,然后执行解压命令。例如,如果要将gmp文件解压到目录gcc-10.1.0,可以执行以下命令: ``` cd /opt2/test_other/debug_test/ tar -jvxf gmp-6.1.0.tar.bz2 --directory=/usr/local/gcc-10.1.0/ ``` 这样可以将gmp文件解压到指定目录。 请注意,更新gcc命令可能需要root权限或管理员权限。在执行任何系统命令之前,请确保您具有足够的权限。 #### 引用[.reference_title] - *1* *2* *3* [linux升级gcc版本详细教程](https://blog.csdn.net/weixin_43354152/article/details/129247408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值