1. C程序必須要添加註釋部分,注釋部分將被編譯到程序代碼中,對嗎
不對
注釋只不過是為了以後維護方便而已。
一般程序寫完後你會很快就忘記程序到底是怎麼工作的了,這時注釋就有用了。
注釋不會編譯到代碼的。編譯過程會把注釋剔除
2. 10. 在C源程序中,/*與*/之間的注釋信息也被編譯,但對程序運行運果不發生影響。 (2分)這句話對嗎為什麼
不對,注釋信息既不會被編譯,也不會對運行結果產生影響.
3. 程序編譯會把注釋信息也編譯進去嗎
當然不會.
你說的這個例子,人家可不是從注釋里看到的,你會把名寫到注釋嗎?除非你是給別人看源代碼的.
其實程序產成後會保留原計算機上的一些信息.比如計算機名,時間等.
4. 編譯器在編譯階段,究竟做哪些事情
1. 預處理首先源代碼文件(.c/.cpp)和相關頭文件(.h/.hpp)被預處理器cpp預編譯成.i文件(C++為.ii)。預處理命令為:gcc –E hello.c –o hello.i預編譯過程主要處理那些源代碼中以#開始的預編譯指令,主要處理規則如下:u 將所有的#define刪除,並且展開所有的宏定義;u 處理所有條件編譯指令,如#if,#ifdef等;u 處理#include預編譯指令,將被包含的文件插入到該預編譯指令的位置。該過程遞歸進行,及被包含的文件可能還包含其他文件。u 刪除所有的注釋//和 /**/;u 添加行號和文件標識,如#2 「hello.c」 2,以便於編譯時編譯器產生調試用的行號信息及用於編譯時產生編譯錯誤或警告時能夠顯示行號信息;u 保留所有的#pragma編譯器指令,因為編譯器須要使用它們。2. 編譯編譯過程就是把預處理完的文件進行一系列詞法分析,語法分析,語義分析及優化後生成相應的匯編代碼文件(.s)。編譯的命令為:gcc –S hello.i –o hello.s或者從源文件直接輸出匯編代碼文件:gcc –S hello.c –o hello.s現在版本的GCC把預編譯和編譯兩個步驟合並成一個步驟,由程序cc1來完成(C++為cc1plus)。3. 匯編匯編就是將匯編代碼轉變成機器可以執行的命令,生成目標文件(.o),匯編器as根據匯編指令和機器指令的對照表一一翻譯即可完成。匯編的命令為:gcc –c hello.s –o hello.o或者從源文件直接輸出目標文件:gcc –c hello.c –o hello.o4. 鏈接鏈接就是鏈接器ld將各個目標文件組裝在一起,解決符號依賴,庫依賴關系,並生成可執行文件。鏈接的命令為:ld –static crt1.o crti.o crtbeginT.o hello.o –start-group –lgcc –lgcc_eh –lc-end-group crtend.o crtn.o一般我們使用一條命令就可以完成上述4個步驟:gcc hello.c實際上gcc只是一些其它程序的包裝,它會根據不同參數去調用預編譯編譯程序cc1、匯編器as、鏈接器ld。
5. C語言程序編譯時程序中的注釋部分是否參加編譯
可以參加。所謂注釋,便是用自然語言對源代碼中某些語句或方法進行說明。並且注釋的內容不會被編譯器編譯。可以在源代碼中添加任何想要添加的說明。
注釋可以出現在代碼中的任何位置,用來向用戶提示或解釋代碼的含義。程序編譯時,會忽略注釋,不做任何處理,就好像它不存在一樣。
如需要注釋的內容比較多,一行寫不完,如果在每一行注釋中都使用//。當然這種方法比較繁瑣,看起來頁面也不夠簡潔。這時候,就需要用到多行注釋。多行注釋還有一種不夠簡潔的注釋方式,那就是嵌套在代碼語句中。
(5)編譯器會刪除代碼注釋嗎擴展閱讀
使用注釋的例子的源代碼
/*
源世界整理,www.yuanshijie.top
*/
#include <stdio.h>
int main()
{
/* puts 會在末尾自動添加換行符 */
puts("http://www.yuanshijie.top");
printf("源世界博客 "); //printf要手動添加換行符
return 0;