Re: [問題] 編譯器如何配置記憶體
gcc -S filename.c # 先把程式原始碼轉成組合語言
vi filename.s # 找出其中宣告 array 變數的 pseudo op
她的語法應該像以下這行
.comm SYMBOL,LENGTH,ALIGNMENT
把最後一欄 ALIGNMENT 改成你要的數值 ( 必需是 2 的N次方 )
gcc filename.s # 出來就是你要的
這個方法可以使用在 x86 平台, 至於其他的 CPU 我沒有試過.
※ 引述《jeremy007 (linux藍海帝國)》之銘言:
: 大家好,
: 小弟有一個 C 語言的全域變數 char array[4096];
: 現在想由 compiler 將 array 的記憶體位置 "強迫配置" 在 1024-byte 的整數倍
: 也就是當我用 printf("%x\n", (unsigned) array);
: 我可以確認 array 的起始位置要能夠被 1024 所整除.
: 請問應如何下 compiler 的參數呢 ?
: 編譯環境為 gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2)
--
How shall my heart be unsealed unless it is broken?
By Kahlil Gibran
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.8.136
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):