是否有一組命令行選項可以說服gcc從自包含的源文件生成平面二進制文件?例如,假設foo.c的內容是 static int f(int x)
{
int y = x*x;
return y+2;
}
沒有外部引用,沒有任何內容導出到鏈接器。我想用這個功能的機器說明獲得一個小文件,而不需要任何其他裝飾。有點像(DOS).COM文件,除了32位保護模式。
我需要將該方法中評論的內容翻譯成彙編程序。我有一個大致的想法,但不能。 任何人都可以幫助我嗎?是英特爾X32架構: int
secuencia (int n, EXPRESION * * o)
{
int a, i;
//--- Translate from here ...
for (i = 0; i < n; i++){
a = evaluarExpresi
我有一個用32位編寫的操作系統Shell,它取代了Vista機器的Explorer.exe。 我運行一個實用程序,它也是用32位編寫的,它允許在資源管理器shell和我的shell之間切換。對於一些基於64位的機器,我不能修改HKLM \ Microsoft \ current \ shell Key(簡稱reg key)。我最終被WOW64子項重定向攔截。並且實際上不會發生對shell密鑰的更改
我在x86程序集上關注this tutorial。到目前爲止,每個示例都使用作者稱之爲「C驅動程序」的程序,並使用程序集模塊進行編譯,以獲得某些「初始化」。例如: int main(void) {
int ret = asm_main();
return ret;
}
然後使用C調用約定正常寫入asm_main函數。我想知道C編譯器生成的所需初始化究竟是什麼,以及是否可以