c++編譯問題
1樓:網友
原來裝的為什麼要刪掉呢,不要去一位的追求所謂的綠色版,這種軟體怎麼可能不在登錄檔裡留東西呢。即使你安裝之後未在登錄檔裡留東西,大多數所謂的綠色版當你執行之後還是會在登錄檔裡留東西的。到底是不是真正的綠色版主要還是取決於這種軟體要實現些什麼功能和開發者怎樣設計。
而且綠色版容易出問題,這裡倒不是對綠色版有成見。
個人認為vc 是非常適合初學者的,是乙個非常經典的版本,好多人現在都還是願意用它,個頭小,佔用資源也較少。後面的版本又大,而且涉及到。net。
對於c++標準,估計沒有哪乙個廠商的編譯器會完全支援c++標準,而且不支援的標準相信也很少用到,尤其是對初學者。個人觀點,僅供參考。
2樓:網友
你是個學生吧。
另,不推薦使用vc 6,因為vc 6對c++標準支援不好,而且最新的c++ 0x標準基本不支援的。但是如果你對ms的ide情有獨鍾,可以去**vc 2010 express版本,這個是免費,而且支援最新的標準,並且對標準的支援很好!
關於c語言編譯階段的一些問題
3樓:網友
要學習「編譯方法」這門課,編譯時,根據定義生成的彙編指令送到。obj中,子程式或函式仍然是乙個「函式名」符號,連按時才根據「函式名符號」找到庫中的具體**。lib ,送到最終目標。exe 中。
4樓:超神了沒
標頭檔案裡面有函式strcmp()的演算法,你用記事本或ultraedit開啟標頭檔案看看strcmp()原函式。
5樓:網友
寫程式好比蓋房子,你可能要用到窗戶,門,磚頭等。窗戶,門,磚頭就好比函式。
窗戶,門,磚頭長什麼樣?尺寸是多少?這就需要乙個尺寸功能的描述,這些描述合在一起,就是標頭檔案(.h)。標頭檔案裡沒有窗戶,門,磚頭,只有它們的尺寸功能描述。
你可以先在設計房子(.c)的時候提出要用它們,並把它們放到你的設計中。很顯然,這些材料的描述必須出現在你的設計的前面(即:
#include <.否則你連自己都不知道如何使用這些材料了。
儘管你提出要用到材料,但是還沒有真正用到,只有到程式鏈結(link)的時候,就要到庫(.lib)裡提貨了。至於庫在**,整合開發環境裡已經給出了一些基本庫所在的位置。
如果基本庫裡沒有你要的材料,你必須指明你的材料所在的庫的位置,就像你必須告訴工人倉庫在**。
鏈結好的程式(.exe)就是你蓋好的房子,你執行程式就是你使用房子的過程。
6樓:網友
.h是標頭檔案 包含型別定義, 函式宣告, 固定常數, 巨集。c是原始檔, 包含源**, 就比如真正使用在。h裡面定義了的型別的**, 真正呼叫。h裡宣告瞭的函式的**。
lib儲存的是各種內建函式庫的內容, 處在半編譯完成狀態。
當你用編譯器編譯乙個c程式的時候,你所include的。
編譯器會在內建函式庫裡找。
會從本地目錄開始找。
然後你。c裡面真正使用到的函式庫函式會從。lib裡面挑出來然後進行乙個叫做linking的過程, 把標頭檔案, 半編譯完成的。
c源**, 和半編譯完成的函式庫內容連線在一起, 生成你所需要的程式。
如果解釋得不夠清楚請再問。
C語言編譯原理問題,c語言程式設計問題
第一個問題 編譯時是否有影響無關緊要只是你的原始檔變大了,但是執行起來是沒有影響的。第二個 採用靜態全域性變數是為了在連線多個檔案時防止重名問題出現,因為程式設計師在程式設計時不會一個人完成一個較大程式,必需要分工,每個人都用自己的檔案來寫程式,這樣在多個檔案中可能會把名字起重了,比如在本檔案中用s...
在C程式中呼叫被C編譯器編譯後的函式,為什麼要加extern「C」宣告
簡單來說就是 函式和變數被c 編譯後在符號庫中的名字與c語言的不同,被extern c 修飾的變數和函式是按照c語言方式編譯和連線的。由於編譯後的名字不同,c 程式不能直接呼叫c 函式。c 提供了一個c 連線交換指定符號extern c 來解決這個問題。總之,重點就是c 裡面支援函式的過載,因此編譯...
如何用c寫編譯器,如何用c寫一個編譯器
先學編譯原理。然後根據步驟,1 處理預編譯 2 詞法分析 3 語法分析 4 語義分析 5 中間 轉換 6 二進位制 生成。簡單起見,不需要考慮優化。初期可以不需要支援太多語法。怎樣去寫一個編譯器 用c語言寫c語言編譯器 需 這個需要考慮到很多的問題 各種錯誤的型別 以及可能出現的情況 這個可以先去看...