Duanxx的C++學習: linux下的cc檔案簡介,duanxxcc

來源:互聯網
上載者:User

Duanxx的C++學習: linux下的cc檔案簡介,duanxxcc


       由於曆史原因,在很久以前,C++的源檔案的尾碼名也是 *.c,但這樣會引起不少的問題

        於是不同的前輩就想了不同的方法來解決這個問題:就是把C++檔案的尾碼名改為了 *.cc *.cpp *.cxx等等


等到了今天,基本上除了Unix系統外,其他的平台上,C++檔案的尾碼名基本上都是 *.cpp,但是Unix系統仍然傾向於使用 *.cc作為C++檔案的尾碼名,比如查看Unix或者linux核心時,就會看到很多 *.cc 檔案

 

我在Google C++ Sytle中看到,Google的C++尾碼名也傾向於使用 *.cc 。

Google的C++規範連結:http://google-styleguide.googlecode.com/svn/trunk/cppguide.html

 

 

對於標頭檔而言,雖然也有 *.hpp *.hh的寫法,但基本上都是用的 *.h,沒有改變

 

補充說明一下,在寫C++代碼時,有不少的碼神喜歡把模板檔案(template source)和內斂函數(inline function)的源檔案以另一種特別的尾碼名存放,比如: *.tcc 和 *.inl

 

 

下面列舉了不同的環境下的C++檔案可能的尾碼名


Unix uses: C, cc, cxx, c

GNU C++ uses: C, cc, cxx, cpp, c++

Digital Mars uses: cpp, cxx

Borland C++ uses: cpp

Watcom uses: cpp

Microsoft Visual C++ uses: cpp, cxx, cc

Metrowerks CodeWarrior uses: cpp, cp, cc,cxx, c++

 


在linux環境下的C編程,比如說C檔案叫mainc

樓上的意思是,你擁有源碼,自行編譯產生了彙編檔案,你當然可以查看彙編代碼;
但是如果你得到的是一份二進位的檔案,obj、或者其他的executable file,你沒有其源碼,這個時候你想分析其檔案資訊以及彙編源碼,只有通過上述命令了 。。。這個有點像Windows下面的逆向工程(Linux下多開源,因此win下面逆向工程較多也較有意義)。

舉幾個例子:
objdump -x obj 以某種分類資訊的形式把目的文件的資料群組織(被分為幾大塊)輸出
objdump -t obj 輸出目的文件的符號表
objdump -h obj 輸出目的文件的section概括
-----------------------------------------------------------------------
你應該man一下objdump的,你就知道它具體用途了。

windows下面類似的工具有微軟VS中內建的dumpbin.exe
dumpbin xx.exe /exports >exports.txt
 
Linux下C編譯器cc的參數詳解?

Linux 下面 cc 就是 gcc ……

你可以去 gcc.gnu.org 看看 gcc 的文檔,參數多的頭暈。
gcc.gnu.org/...ng-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.