int main()
{
__asm__("movl $0x1,%%eax;
movl $0x0,%%ebx;
int $0x80;
":::"eax","ebx");
}
Linux で exit() の動作をシミュレートしようとしています。しかし、最近の Linux では、いくつかの終了ハンドラーが exit() の後に呼び出されるため、これを行うのは非常に難しいと思います。だから私は exit() の古いバージョンを書きます。おそらく10年前に、いくつかのコードでそれを見つけることができます. 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
コードを注意深く調べましたが、コードが間違っているとは思いません。それで、それは何ですか?