Linux 下 的 cc 和 gcc

來源:互聯網
上載者:User

                             Linux 下 的 cc 和 gcc

                                周銀輝

 

在Linux下一會看到cc,另一會又看到gcc,感覺又點混亂的樣子。它們是同一個東西麼,有啥區別呢

 

一分為二地看:

 

首先,如果討論範圍在Unix和Linux之間,那麼cc和gcc不是同一個東西。cc來自於Unix的c語言編譯器,是 c compiler 的縮寫。gcc來自Linux世界,是GNU compiler collection 的縮寫,注意這是一個編譯器集合,不僅僅是c或c++。

 

其次, 如果討論範圍僅限於Linux,我們可以認為它們是一樣的,在Linux下調用cc時,其實際上並不指向unix的cc編譯器,而是指向了gcc,也就是說cc是gcc的一個連結(捷徑),看看下面的終端輸出就明白了:

zhouyinhui@zhouyinhui-laptop:/etc/alternatives$ which cc
/usr/bin/cc
zhouyinhui@zhouyinhui-laptop:/etc/alternatives$ ls -al /usr/bin/cc
lrwxrwxrwx 1 root root 20 2010-01-20 23:56 /usr/bin/cc -> /etc/alternatives/cc
zhouyinhui@zhouyinhui-laptop:/etc/alternatives$ ls -al /etc/alternatives/cc
lrwxrwxrwx 1 root root 12 2010-01-20 23:56 /etc/alternatives/cc -> /usr/bin/gcc

 

 

為什麼會這樣,很簡單,為了相容性:

cc是Unix下的,是收費的,可不向Linux那樣可以那來隨便用,所以Linux下是沒有cc的

然後,問題來了,如果我的c/c++項目是在Unix下編寫的,在寫makefile檔案時自然地用了cc,當將其放到Linux下這無法make了,必須將其中的cc全部修改成gcc。這太麻煩了哈,所以,Linux這想了這麼一個方便的解決方案:不修改makefile,繼續使用cc,這個cc是個“冒牌貨”,它實際指向gcc。

-----------

另外,關於 g++ 和 gcc, 看這裡 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.