int main()
{
__asm__("movl $0x1,%%eax;
movl $0x0,%%ebx;
int $0x80;
":::"eax","ebx");
}
我嘗試在Linux中模擬exit()的行爲。但在現代Linux中,我發現這樣做很困難,因爲一些退出處理程序將在exit()之後被調用。 所以我寫了一箇舊版本的exit()。也許10年前你可以在一些代碼中找到它。 我用gcc編譯它。有關GCC內聯彙編的奇怪的錯誤消息
gcc -o exit exit.c
它給了我這些信息。
exit.c: In function ‘main’:
exit.c:3:13: warning: missing terminating " character [enabled by default]
exit.c:3:5: error: missing terminating " character
exit.c:4:13: error: expected string literal before ‘movl’
exit.c:6:27: warning: missing terminating " character [enabled by default]
exit.c:6:13: error: missing terminating " character
我仔細檢查了我的代碼,我不認爲我的代碼是錯誤的。那是什麼?
非常感謝。也許我的一些閱讀材料會犯一些錯誤。 – 2012-04-18 08:42:16