程序編譯後大小固定嗎
1. 如何將C/C++程序編譯到指定的大小如編譯成100KB大小
來設置
用於控制台窗口操作的API函數如下:
GetConsoleScreenBufferInfo 獲取控制台窗口信息
GetConsoleTitle 獲取控制台窗口標題
ScrollConsoleScreenBuffer 在緩沖區中移動數據塊
SetConsoleScreenBufferSize 更改指定緩沖區大小
SetConsoleTitle 設置控制台窗口標題
SetConsoleWindowInfo 設置控制台窗口信息
此外,還有窗口字體、顯示模式等控制函數,這里不再細說。下列舉一個示例,程序如下:
#include
#include
#include
void main()
{
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
// 獲取標准輸出設備句柄
CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口緩沖區信息
GetConsoleScreenBufferInfo(hOut, bInfo );
// 獲取窗口緩沖區信息
char strTitle[255];
GetConsoleTitle(strTitle, 255); // 獲取窗口標題
printf("當前窗口標題是:%s\n", strTitle);
_getch();
SetConsoleTitle("控制台窗口操作"); // 獲取窗口標題
_getch();
COORD size = ;
SetConsoleScreenBufferSize(hOut,size); // 重新設置緩沖區大小
_getch();
SMALL_RECT rc = ; // 重置窗口位置和大小
SetConsoleWindowInfo(hOut,true ,&rc);
CloseHandle(hOut); // 關閉標准輸出設備句柄
}
2. keil4編譯後的程序大小怎麼確定啊Program Size: data=27.0 xdata=0 code=3112。可在電腦查看卻是8.84K
編譯後看代碼大小。
KEIL最下面的一欄裡面。
例如:
Program Size: data=79.0 xdata=31 code=7582
code後面 就是代碼的大小。
希望採納
3. 請問運行時分配內存和編譯時分配內存有什麼區別
一。運行時分配內存
既然是運行時分配內存,首先這個一定是動態的內存。。那麼它的作用是什麼呢,它的主要應用場所就是在
事先並不知道要多少內存來存儲我們想要存的東西,比如說
偶們現在想要用內存來保存中國深圳的人口相關信息,但是這個城市有多少人呢,這個數字是不確定的隨時都是在變的,這個時候就不可能定義一個固定大小的數組來保存了,這樣就需要動態內存了,來一個就加一個,少一個就減一個多好用,是不。。嘿嘿
二。編譯時候分配的內存。。當然就是事先偶知道要多大的內存。所以就先申請固定大小的內存嘍。這個就是在編譯時候就會分配內存
三。動態的內存一經申請,只要沒有人為的釋放掉它,那麼它會一直存在,直到程序運行結束,才會被釋放。
四。。動態內存會在進程結束的時候自動釋放的。。嘿嘿。。進程都沒有了,那麼內存何在
是不。。瓶子破了,水當然會溜走,想留下也不行啊
回復libujuan
4. 請問:同一個程序在一個機器上編譯後大小是300多K,在另一個機器上編譯後大小卻
不會是編譯選項的問題,編譯選項是跟工程文件在一起的可能是硬碟族大小的問題,注意,文件的實際大小和佔用硬碟空間的大小不一定相同
5. 一個程序編譯後,對於棧內存空間的大小,是如何定的呢
棧區內存,由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於數據結構中的棧。訪問順序遵循先進後出原則。 棧stack:是程序啟動時候由程序留出的工作內存區 比如程序的局部變數,函數調用等都是從棧中獲取,
6. 程序編譯後的exe大小和什麼有關比如定義的變數的數量,數組的長度,遞歸的深度、代碼量
跟變數的數量,數組的長度,遞歸的深度沒關系!
大小主要取決於你的代碼量(包括你的頭文件大小與數量),還有編譯參數(debug出來的比較大,release出來的比較小)
變數的數量,數組的長度,遞歸的深度會影響運行時佔用內存的大小。跟exe本身的大小沒關系。
7. 請問在Delphi編程中,如何做到編譯後的EXE程序在運行時,窗口的大小固定不變
設置form屬性的borderstyle的子屬性,自己試試~
或者是,
設置form屬性的constraints子屬性就可以了哦:
maxheight和minheight設置一樣的,另外2個設置一樣的。
8. 程序編譯後,代碼的大小如何知道
編譯連接後
還會生成個.map文件。裡面非常詳細,每個函數,每個變數的地址,都非常的清楚!
9. C++編譯後的文件為什麼體積特大
正常,在編寫小的短的程序C沒有匯編有優勢,一個程序很簡單的程序用TC編譯成30K正常
你可以這樣理解
編譯 就跟模板似的,有固定的開頭結尾,中間是你的程序編譯的代碼,開頭結尾最簡單也要幾K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 沒有動態庫與靜態庫的問題,
但是如果改變些TC編譯選項可能對編譯結果大小有影響