導航:首頁 > 版本升級 > stvdmap文件分析

stvdmap文件分析

發布時間:2024-07-20 06:02:02

❶ stm8s stvd 怎麼看代碼大小

下載一個小工具

1、把解開後的size.exe復制到COSMICCXSTM8文件夾,就是你的COSMIC編譯工具里有cpstm8.exe的那個文件夾。
2、在SVTD的Project->settings中打開Post-Build選項卡,在commands的最後一行加入:size $(OutputPath)$(TargetSName).map
3、保存返回,編譯試試,最後會出現如:Program Size: Code=12470 Eeprom=0 ZeroPage=227 Ram=180的結果。


思路:


打開map文件,統計各段的長度,然後輸出。


主要代碼:

static void Main(string[] args)

{

StreamReader sr = new StreamReader(args[0]);

string[] s;

char[] charSeparators = new char[] { ' ' };


int code_size = 0;

int zeropage_size = 0;

int ram_size = 0;

int eeprom_size = 0;


for (int i = 0; i < 8; i++)

{

string s1 = sr.ReadLine();

}


while (true)

{

string s1 = sr.ReadLine();

s = s1.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);

if(s.Length == 0)

{

break;

}

else if (s[7] == ".text" || s[7] == ".const" || s[7] == ".init")

{

code_size += int.Parse(s[5]);

}

else if (s[7] == ".eeprom")

{

eeprom_size += int.Parse(s[5]);

}

else if (s[7] == ".bsct," && s[8] == "initialized")

{

zeropage_size += int.Parse(s[5]);

}

else if (s[7] == ".ubsct" || s[7] == ".share")

{

zeropage_size += int.Parse(s[5]);

}

else if (s[7] == ".data," && s[8] == "initialized")

{

ram_size += int.Parse(s[5]);

}

else if (s[7] == ".bss")

{

ram_size += int.Parse(s[5]);

}

}

Console.WriteLine("");

//Program Size: Code=5056 RO-data=288 RW-data=68 ZI-data=1140

Console.WriteLine("Program Size: Code=" + code_size.ToString() + " Eeprom=" + eeprom_size.ToString() + " ZeroPage=" + zeropage_size.ToString() + " Ram=" + ram_size.ToString());

}

閱讀全文

與stvdmap文件分析相關的資料

熱點內容
華為手機刪除的網站怎麼找回來 瀏覽:74
涉密文件在哪裡可以查詢 瀏覽:24
圖片文件的數據流 瀏覽:311
什麼網站的鞋子是正品 瀏覽:402
mp4文件傳哪裡 瀏覽:300
手機pc網站模板 瀏覽:780
蘋果怎麼使用u盤安裝系統教程 瀏覽:974
java游戲打磚塊 瀏覽:555
java載入servlet 瀏覽:703
游戲編程怎麼發工資 瀏覽:319
科學計算數據處理是什麼 瀏覽:771
張飛豆乾app 瀏覽:67
cim數據哪個平台好 瀏覽:142
air關閉應用程序 瀏覽:324
jsonobject取字元串值 瀏覽:308
大數據技術是有哪個公司提出的 瀏覽:799
怎樣查微信文件在哪裡 瀏覽:186
安卓系統設置繁體字 瀏覽:223
蘋果5s滿電能用多久 瀏覽:648
app照相去哪裡查看 瀏覽:414

友情鏈接