有用的C語言工具
用於檢查源代碼的工具

用於檢查可執行文件的工具

幫助調試的工具

性能優化輔助工具

請仔細研究這些工具,如果你花15分鐘時間對每個工具進行一下試驗,將來在解決Bug問題時,它會大大節約你的時間。
醫生可以使用X射線、聲譜儀、內窺鏡和探查術來查看病人的身體內部。這些上面這些工具就是軟體世界的X射線。
如果你工作於操作系統的內核模式,則無法使用絕大多數運行時工具,因為內核並不像用戶進程那樣運行。可以使用編譯時工具如lint,但除此之外我們只能使用石刀和燧斧了:將有序模式放入內存中,看看它們何時被覆蓋(最常使用的兩個是十六進位常量deadbeef和abadcafe),使用printf或類似的函數並記錄跟蹤信息。
幫助你識別硬體的工具

只適用於高級學員閱讀的材料
對智者之語:可以把彙編代碼嵌入到C代碼中。這通常只用於深入操作系統核心非常依賴機器的任務。例如設置某個特別的寄存器,把系統的狀態從管理員模式轉變為用戶模式。現在,我們把一條no-op(或其他指令)插入到使用SunPro SPARCompiler的C函數中:
banana() { asm("nop"); }下面是如何在PC中使用Microsoft C嵌入彙編語言指令:
__asm mov ah, 2
__asm mov dl, 43h可以在彙編代碼前冠以關鍵字「__asm」,也可以只使用該關鍵字一次,把所有的彙編代碼放入一對花括弧內,如下:
__asm {
mov ah, 2
mov dl, 43h
int 21h
}編譯器並不會對代碼作多少檢查,所以很容易創建崩潰的程序。但這是一種學習某種機器指令集很好的實踐方法。請看一下SPARC結構手冊、彙編程序手冊(大部分用於講述語法和指導)和某個SPARC銷售商所提供的數據書籍,如Cypress Semiconductor的SPARC RISC User’s Guide。
本文摘自《C專家編程》

C代碼。C代碼運行。運行碼運行…請!
——Barbara Ling
所有的C程序都做同一件事,觀察一個字元,然後啥也不幹。
——Peter Weinberger
《C專家編程》展示了最優秀的C程序員所使用的編碼技巧,並專門開闢了一章對C++的基礎知識進行了介紹。
書中C的歷史、語言特性、聲明、數組、指針、鏈接、運行時、內存以及如何進一步學習C++等問題進行了細緻的講解和深入的分析。全書擷取幾十個實例進行講解,對C程序員具有非常高的實用價值。
本書可以幫助有一定經驗的C程序員成為C編程方面的專家,對於具備相當的C語言基礎的程序員,本書可以幫助他們站在C的高度了解和學習C++。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/225772.html
微信掃一掃
支付寶掃一掃