((问题编辑,感谢@fuz)
C的系统调用等同于Linux 64汇编程序?
我想编写实质上具有与在C中调用CLI相同的功能的程序集,例如system("ls -l")
。
我想重现的代码与以下C:具有基本上相同的功能:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("ls -l");
exit(0);
}
system
libc函数是不是内核系统调用。因此,其手册页是system(3)
而不是system(3)
。
它在fork(2)+ execve(2)之上实现,并且system(2)
系统调用。实际上,这是waitpid(2)
手册页说的第一句话!继续阅读它,就像您应该阅读Linux手册页以了解任何您想了解的实际系统调用或库函数一样。
在调用它的程序中使用system(3)
,或者与GDB一起使用它,或者阅读glibc源代码。