❶ 為什麼 C++ 編譯出的可執行文件很大
那是因為你沒有指定編譯模式和鏈接方式,所以,默認使用c++的標准去生成文件,體積自然很大。
❷ 請教各位大神 重新編譯顯示文件太大 怎麼辦
GHO文件你是第幾次編譯了....
建議您重新解壓原始GHO
然後在打開修改最後在編譯
❸ 用eclipse編譯C文件,編譯出來的文件很大,怎樣解決啊
strip一下就行;
另外別指望編譯出的文件和VC++的一樣小,VC++編譯出的文件換了電腦就可能需要VC++運行時組件了,這個(Eclipse+MinGW+GCC)編譯出來的是通用的
❹ 為什麼編譯後執行文件很大
關於程序源代碼編譯之後,可執行文件很大這個問題,根據我的編程經驗,不論是在 WINDOWS 系統下面、還是在 UNIX/Linux 系統下面,假設在你編寫的源代碼沒有任何錯誤、且保證可以運行出正確結果的前提下,你必須要仔細查閱關於源代碼編譯選項的一些資料。因為使用編譯器在編譯源程序的時候,加上不同的編譯選項對源代碼進行編譯,實際上對可執行程序的影響還是很大的。
例如:如果在編譯的時候加上優化選項,那麼肯定要比你不加優化選項,其可執行程序的運行速度要快得多;再例如:如果你想對源代碼進行底層調試,那麼在編譯的時候就必須要加上調試選項,等等。
❺ 為什麼gcc編譯出來的文件很大
看一下編譯參數是什麼, 優化等級是什麼(建議用O2), 有沒有用包含了調試信息之類的。
我剛才試了一個帶窗口的測試程序也只不過14KB啊。
❻ Dev C++編譯簡單的文件很大
#include <iostream>
int main(int argc, char** argv)
{
std::cout << "Hello world!\n";
}我的程序1.3158
MB,這應該是正常大小了,而且是用TDM-GCC
4.8.1
32-bit
Release
的,還啟用文件最小優化,使用Debug也是如此。Debug通常比Release
大。
❼ c程序編譯後太大了怎麼辦啊
程序要執行當然不是只靠你寫的那兩行代碼,還需要好多庫,即使是很簡單的程序,你在VC++下按一下ALT+F7,選中Link就能看到了。編譯的時候這些庫也被包含到可執行文件當中,因此可執行文件較大。
Debug編譯後帶有源文件信息,因此可以調試,單步執行,而Release沒有這些信息,因此不能調試,但執行效率更高。
❽ 編譯的ko模塊很大、initrd.img太大
在生產initrd.img的時候,如果發現initrd.img非常大,比如原來的40M,現在的有300M,網上有提到memory hole remap相關,沒找說法的出處,反正我在bios是沒找到。
ubuntu下生存initrd.img的命令:
update-initramfs -c -k <kernel_ ver>
它是將lib/moles/<kernel_ver>下的ko打包到initrd.img里。配置文件/etc/initramfs-tools/。所以先查看自己編譯的ko模塊是不是比原系統的ko模塊大很多。
自己編譯的ko模塊如果比發行版的大很多,比如人家的事10K,你的ko文件是20M。這是由於編譯過程中有雪的信息,比如調試的信息、段、附加信息,在運行中並不需要。
使用binuitls包的strip命令
strip -S name.ko
然後再比較大小,如果相差不多甚至相差小於1K,那就找到了問題原因。
如果還是不行,繼續努力找問題吧。
❾ openwrt編譯固件過大
會超過對應設備的存儲空間。openwrt編譯固件過大會超過對應設備的存儲空間。需要注意的是不同的設備對應的存儲空間大小是不一樣的。