天天看點

《21天學通C語言(第6版•修訂版)》一1.7 問與答

本節書摘來自異步社群《21天學通c語言(第6版•修訂版)》一書中的第1章,第1.7節,作者 【美】bradley l. jones , peter aitken,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

21天學通c語言(第6版•修訂版)

問:如果要将自己編寫的程式提供給别人,應提供哪些檔案?

答:c語言的優點之一是,它是一種編譯型語言。這意味着對源代碼進行編譯後,将得到一個可執行程式——一個獨立的程式。将hello提供給所有有計算機的朋友是完全可能的,您隻須将可執行程式hello.exe提供給他們即可。他們不需要源代碼檔案hello.c和目标檔案hello.obj,也不需要c編譯器。但獲得可執行程式的人必須擁有和您同類型的機器,如pc、macintosh、linux機器等。

問:建立可執行檔案後,還需要保留源代碼檔案(.c)和目标檔案(.obj)嗎?

答:如果删除源代碼檔案,則以後将無法修改程式,是以應該保留該檔案。目标檔案的情況則不同,保留目标檔案是有原因的,但這超出了您現在應該考慮的範圍。就現在而言,一旦删除可執行檔案後,便可以将目标檔案删除。如果需要目标檔案,可以重新編譯源代碼檔案。

大多數內建開發環境都會建立除源代碼檔案(.c)、目标檔案(.obj或.o)和可執行檔案之外的其他檔案。隻要保留了源代碼檔案(.c),便可以重新建立其他檔案。

問:如果編譯器自帶了編輯器,必須使用該編輯器嗎?

答:完全可以不用。您可以使用任何編輯器,隻要它能夠以文本格式儲存源代碼。如果編譯器自帶了編輯器,應盡可能使用它。如果您要使用其他的編輯器,當然,也可以。作者使用的是一個單獨購買的編輯器,雖然所有的編譯器都自帶了編輯器。編譯器自帶的編輯器越來越好,其中的一些能夠自動格式化c語言代碼,其他的一些則使用不同的顔色來顯示源代碼檔案的不同部分,使得查找錯誤更容易。

問:如果隻有c++編譯器,而沒有c編譯器,該如何辦?

答:正如今天的課程中指出的,c++是c語言的超集。這意味着可以使用c++編譯器來編譯c程式。大多數人在windows環境下使用microsoft’s visual c++編譯其c程式,在linux和unix環境下,則使用gnu的編譯器。

問:可以忽略警告消息嗎?

答:有些警告并不會影響程式的運作,但有些會。編譯器顯示警告消息表明有什麼地方不正确。大多數編譯器都允許使用者設定警告等級。通過設定警告等級,可以隻顯示最嚴重的警告或顯示所有的警告(包括最微不足道的)。有些編譯器甚至提供了各種中間等級。應檢視程式的每個警告,并對其做出判斷。程式最好沒有任何警告和錯誤(有錯誤時,編譯器将不會建立可執行檔案)。