編譯器如何配置記憶體 - Linux

Madame avatar
By Madame
at 2008-08-25T12:36

Table of Contents

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

--
Tags: Linux

All Comments

能否固定程式視窗起始的位置?

Joe avatar
By Joe
at 2008-08-25T12:13
我使用Ubuntu 8.04開啟compiz-fusion特效。有一些視窗在啟動的時候會跑到太上面, 使得視窗的title bar跑到桌面外,我把視窗移下來然後重新啟動程式時,他的起始 位置仍然使title bar 跑到桌面外,請問有沒有辦法記憶視窗的起始位置 這樣我就不需要每一次都重新移動視窗位置。 ...

在 Debian 中如何收集多個 packages 打包成另一個 package ?

James avatar
By James
at 2008-08-25T11:42
假設有 A B C D 四個 packages 想打包成一個 E package 想請問偉大的鄉民如何辦到? 謝謝~~ -- 很多男人都說and#34;我一秒鐘幾十萬上下and#34; ---- 根據人體力學原理,不到半秒鐘就繳械了 - ...

Program Fire技術論壇--筆記分享喲~

Tom avatar
By Tom
at 2008-08-25T11:31
在這兒有許多我寫下的筆記,希望與大家分享一下~ Linux、Windows、PHP、SQL方面的比較多~ 尤其是Linux~有許多實用的文章~ 提供給大家參考一下~有空來逛逛 http://forum.share-blog.com - ...

求救!安裝xp and suse碰到瓶頸

Anthony avatar
By Anthony
at 2008-08-25T10:49
小弟的hp2133原使用linux版本 這兩天在練習指令的時候不小心把它毀了 索性便想重安裝並讓XPandamp;suse並存.. 在線上爬過不少文 先裝xp在裝linux.. 使用grub等... 小弟目前是先用spfdisk割好4個主分割區 C 槽已裝好XP 其他槽均還沒格式化 接著安裝suse 我放 ...

能有Linux英文介面,但能輸入中文嗎?

Jacob avatar
By Jacob
at 2008-08-25T08:45
要能正確輸入以及顯示漢字, 有幾個基本設定是一定要的: inputrc 要有 set input-meta on set output-meta on 以上可以放在 $HOME/.inputrc 或是 /etc/inputrc 另外就是環境變數 export LANG=and#34; ...