編譯的程序為什麼有大小
⑴ 為什麼用不同編譯器編譯出來的程序大小差別這么大
你所提問的問題,在Keil自帶的文檔《Cx51編譯器用戶手冊》中都有詳細的介紹。建議你好好閱讀一下這份手冊,將會對編譯過程、編譯原理有深入的了解。
⑵ 為什麼編譯出的程序體積那麼大
那是因為用Delphi編寫的圖形界面程序必須包含VCL庫,否則無法在未安裝Delphi運行時間庫的機子上運行,靜態鏈接的話會將程序用到的VCL組件部分都鏈接到可執行文件中去,所以文件體積比較大,如果編譯是選擇Build with Runtime packages,但是系統里必須已安裝Delphi運行時間庫。
⑶ 為什麼我的devc++編譯任何簡單程序文件所佔內存的大小都一樣
1KB=1024位元組,你打的代碼都是小於1024位元組,這最小隻能顯示KB單位,所以小於1kb的代碼全部顯示1kb
⑷ 為什麼我用DevC++編譯的helloworld程序exe文件為16kB,而用visualC++6.0編譯,大小卻高達240kB
很正常,每種編譯器對代碼的處理、優化的演算法都不相同。有的代碼緊湊,有的速度快,等等。另外,有很多編譯器有各種開關設置(或者以宏的方式設置),不同的設置生成的代碼大小也不一樣,比如有的包含了調試所用的信息,自然也會大些。
不過,大小差了這么多,可能有兩種情況(因為我是用別的語言的,你這兩個編譯器我還不是很熟悉,只能猜測):一是前者是不是DOS下的,後者是不是WINDOWS下的(WINDOWS下運行的程序更復雜)?二是如前所說,後者是不是包含了調試信息?查一下編譯器的開關設置。
⑸ 易語言編寫的程序編譯後就是一句代碼 exe文件也有五百多k 為什麼
是因為編譯好的EXE裡面有運行庫唄。至於VB VC編譯的很小 是因為他們的運行庫系統已經帶了,就跟易語言使用普通編譯出的文件也很小類似。 如果你想要讓易語言編譯的文件縮小就用黑月,可以讓易語言編譯的程序縮小到幾十K。
記得採納啊
⑹ C++編譯後的文件為什麼體積特大
正常,在編寫小的短的程序C沒有匯編有優勢,一個程序很簡單的程序用TC編譯成30K正常
你可以這樣理解
編譯 就跟模板似的,有固定的開頭結尾,中間是你的程序編譯的代碼,開頭結尾最簡單也要幾K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 沒有動態庫與靜態庫的問題,
但是如果改變些TC編譯選項可能對編譯結果大小有影響
⑺ C++程序編譯後為什麼這么大
程序要執行當然不是只靠你寫的那兩行代碼,還需要好多庫,即使是很簡單的程序,你在VC++下按一下ALT+F7,選中Link就能看到了。編譯的時候這些庫也被包含到可執行文件當中,因此可執行文件較大。
Debug編譯後帶有源文件信息,因此可以調試,單步執行,而Release沒有這些信息,因此不能調試,但執行效率更高。
⑻ 程序編譯後的exe大小和什麼有關比如定義的變數的數量,數組的長度,遞歸的深度、代碼量
跟變數的數量,數組的長度,遞歸的深度沒關系!
大小主要取決於你的代碼量(包括你的頭文件大小與數量),還有編譯參數(debug出來的比較大,release出來的比較小)
變數的數量,數組的長度,遞歸的深度會影響運行時佔用內存的大小。跟exe本身的大小沒關系。
⑼ VC編譯出來的程序為什麼那麼大
過度優化可能最終導致程序無法運行~~~
沒有必要啦,VC編譯會嵌入很多自己的東西,也包括一些對程序的優化~~
如果只是想要寫出小的程序,那就用asm吧
⑽ 為什麼編譯生成同樣一個簡單的控制台程序,微軟編譯出來的比GCC的小那麼多
沒這回事。
GCC不能編譯Windows程序,而微軟發布的編譯器也編譯不了Linux程序,它們不可能編譯出同一個程序,最多是編譯出一個程序在這兩個平台上的移植版(就是兩個不同的程序了)。這時候要看程序自身是調用的Windows功能多還是Linux功能多,編譯出來的可執行程序也是可大可小,沒有一定的大小關系。
騰訊QQ的Windows版有幾十兆,而它的Linux版不到5兆……
控制台是微軟VS里的說法,終端是Linux下的說法,這樣的比較,擺明了要耍賴啊。