A. mfc有什麼缺點
MFC主要有以下幾個缺點:
大量使用稀奇古怪的宏,會使代碼可讀性很差。要掌握MFC需要編程人員耐心的去分析它們。
消息映射的現實機制十分笨拙,沒有採用繼承機制,也沒有採用委託技術,而是採用表驅動。
對於底層SDK的封裝太薄,面向對象的感覺不足。
自己編寫了RTTI,SHE,CObjXXX(Container)等,實現起來不太理想。
很多場合本來是標准庫可以一展身手的地方,MFC完全沒用上。
為了迎合MFC,編譯器的很多地方都違反標准。
Doc/View體系的局限性,想圖破很難。
所以建議樓主在編程時不要集中所有精力學習MFC,而應該掌握標準的C==庫,特別是使用STL。
B. 編譯型語言和解釋型語言優劣勢是什麼
一、編譯型語言
優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。
二、解釋型語言
優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。
缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。
(2)在線編譯器缺點擴展閱讀:
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。
C. 手機C++編譯器
一直以來都喜歡用手機看書,尤其是在上班時。看的最多的是編程一類的書,主要是C++,看著就想寫寫代碼,可是電腦用不能用,怎麼辦?於是想到用UC瀏覽器找找看網上有沒有在線的編譯器,想什麼時候寫代碼都可以驗證。於是就找了幾個,各有千秋吧。中文的我沒找到,全是英文的,不過英文不難,其實也不需要懂英文,只要知道在什麼地方寫代碼,然後點擊按鈕進行在線編譯就行了。好了,下面看介紹:
1、http://codepad.org/
推薦星級:★★★★
是否需注冊:否(注冊的話也很快,幾秒鍾而已)
優點:網頁界面簡潔,一目瞭然,適合手機瀏覽器。且支持C,C++,D,php,PYTHON,Perl,Ruby等十幾種編程語言,非常強大。查看執行結果時,高亮顯示代碼。
缺點:有時點擊提交按鈕後,給出一個出錯頁面,需多次提交才給出結果。另外不具有交互性,且不提供編譯後的可執行文件。
2、http://www.comeaucomputing.com/tryitout/
推薦星級:★★
是否注冊:貌似不需要(網頁上顯示,注冊後功能更多)
優點:編譯器的版本多
缺點:頁面文字較多,不適合手機瀏覽,且編譯後顯示結果不明了,反正我最簡單的"Hello World"程序好像都通不過
3、http://www.botskool.com/online-compiler(本人最喜歡的)
推薦星級:★★★★☆
是否注冊:需要(注冊簡單,絕對值得)
優點:自動記錄上一次所寫代碼,執行結果顯示明顯,並且可以進行簡單的交互(我認為是亮點)。網站提供了交流論壇,編程學習資料。
缺點:頁面廣告文字較多,不過手機瀏覽的話還可以接受。無論是編寫代碼還是查看結果,頁面大面積是其他用戶代碼示例,顯得頁面臃腫。支持語言少,只有C,C++,Java三種。
4、http://onlinecompiler.net/(現在不知道為什麼打不開了,前幾天還可以用,在這列出來先)
推薦星級:★★★
優點:記不清了,只記得可以下載編譯後的exe文件(這就是我列出來的原因)
缺點:不記得了
5、http://cmpe150-1.cmpe.boun.e.tr/phpccompiler/login.php
推薦星級:★★★
是否注冊:否
優點:編輯時有感應提示框,高亮顯示語法,可下載編譯後exe文件。界面簡潔。
缺點:只支持C語言。只支持IE6以上瀏覽器,其他瀏覽器一概不支持,手機無法瀏覽。不在線顯示運行結果。沒有出錯提示。
6、http://ideone.com
推薦星級:★★★★★
是否注冊:否(注冊後功能更強大)
優點:我見過的支持語言最多的,多達58種(哥驚呆了),編輯功能最強大的(顯示行號,語法高亮,查找,定位到行,全屏顯示,行信息,列信息顯示),錯誤信息顯示清晰,結果顯示明顯,有簡單交互功能,可以上傳源文件進行編譯,並且可以下載exe文件,界面簡潔更難能可貴。
D. 編譯器具體實現中比較巧妙的思想有哪些
要說編譯器實現的巧妙思想,很多都是用來解決工程性問題的,跟編譯原理中的演算法(解決抽象概念問題 / 學術問題)未必有直接關系。
題主是更想知道某個演算法在具體實現中的特點或者說應用方式呢,還是更想了解工程方面的問題呢?
我覺得前者應該有很多人會給出非常有趣的回答,我就主要回答後者的方面吧。解決工程性問題的巧妙技巧也挺吸引人的,而且有非常大量的素材…根本無法列舉完。
LLVM
說到編譯器實現,不得不落個俗套說說LLVM編譯器套件。不用介紹LLVM是啥了,感覺是「地球人都知道」系列。
1、一套IR,三種表現形式:運行時表現形式(llvm/IR,內存中)、序列化表現形式(bitcode,用於存儲)、文本表現形式(「LLVM匯編」,便於人閱讀和編輯)。三種形式間可以無損變換是LLVM非常非常強大的實現特點之一。
實際使用時能否真的達到無損變換很大程度上取決於要實現的語言有多少東西無法用LLVM IR表達。
例如說如果有語言實現基於LLVM來實現JIT編譯器,並且想把一個運行時的對象指針當作常量嵌入生成的代碼里,它可以把這個常量構造成LLVM IR,但如果把這個常量序列化到bitcode或生成文本形式,等「下一次編譯」再讀出來用的話,那個常量指針可能已經不對了。這跟生成PIC(position-independent code)的問題類似,但LLVM沒辦法幫語言解決這種問題。
也有可能有些語言實現偷懶,有些嵌入LLVM IR的metadata無法無損轉換為文本形式,這也不能怪LLVM IR不好,但確實是使用中要頭疼的問題…
這種一套IR三種表現形式的設計非常實用,一些新的語言實現項目受其影響也採用了類似的設計。
E. keil平台和網頁版c語言編譯器的區別
從性質講,兩種不同的編程軟體,一個是獨立軟體,一個是內配在網頁中的。獨立軟體需要安裝,網頁打開就能用,但相對功能簡化。就像其它軟體vs和codeslocks也用來編寫c語言。而編譯是軟體里設置選擇的編譯器處理的,比如GCC,MSC,TurboC。
從應用上講,在線網頁編譯器使用簡單,但功能也少,主要學習或調試一下代碼。而專門的軟體是用於開發的,比如上面的keil就用於單片機程序的開發。
F. 編譯型語言和解釋型語言各自的優缺點是什麼
一、編譯型語言
優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。
二、解釋型語言
優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。
缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。
(6)在線編譯器缺點擴展閱讀:
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。
G. 各種編譯語言的優缺點
html 是基礎,php,asp,等是翻譯成html再執行的
html也最簡單。
你看一個網站,隨便點一個鏈接,發現地址里是
xxxxxxx.asp?xxxxxxxxx或xxxxxxxxxxxxx.asp那就是用asp寫的網站
發現
xxxxxxxx.php?xxxxxxxx或xxxxxxxxxxxxx.php那就是用php寫的網站
xxxxxxxxx.jsp?xxxxxxxx或xxxxxxxxxxxxx.jsp那就是用jsp寫的網站
c+ vb.net vs.net一般不用來做網站
H. Intel C++ Compiler與gcc對比有什麼優缺點
icc 是Intel公司專門為Wintel平台設計,有針對性的做了優化,缺陷也很顯然,既然有針對性,也就不具備通用性。使用icc編譯,可能會使編譯出來的程序有更好的執行效率,但也可能使其在非Intel CPU上運行異常。並且,在某些情況下,即使在Wintel平台上也會崩潰。
gcc的優勢在於其通用性,目前主流的所有平台,它基本上都支持。使用-O3優化編譯後的執行效率,也不錯。
在Win平台上,編譯後執行效率最好的,依然是微軟的vs,這可能與win系統是他們家出的有關。
使用icc帶來的優勢,並不突出,還是建議不要用了。
如果限定在win平台上開發,使用vc或gcc更合適一些。我個人推薦gcc,vc的ide環境過於龐大,不太喜歡,但win平台上主流的c開發工具還是vc,有不少開源的工程都使用它,如果你用到了這些開源代碼,就不得不用了。
I. 編譯執行的優缺點
兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。當然,如果只是簡單的scanf,printf是可以的,但是像指針,內存分配,文件操作,多線程等,在一些相對復雜的系統問題就嚴重了。 更可怕的是拿源碼到unix環境下編譯通過了,但是運行卻出問題,這種問題最要人命。 所以一般的做法都是這個程序會用在什麼系統,就到什麼系統環境去開發
J. 誰知道c語言各個編譯器優缺點越詳細越好
編譯器種類很多,最主流的還是turbo和VC,主流的東西可參考資料多,建議用這兩個。但VC好用些,圖形環境。