gpt4 book ai didi

linux - execve函数的实现(unistd.h)

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:32 26 4
gpt4 key购买 nike

如何查看函数 execve 的实现(在 x86_64 Linux 下),它在库 unistd 中?我想要这个是因为我想知道如何在不调用 execve 的情况下使用汇编程序调用外部程序。我知道有一个名为 execve 的系统调用,但我不知道如何使用它。

如何将类型为 char * 且类型为 char * [] 的变量放入寄存器?

最佳答案

execve() 函数在用户空间的实现类似于:

int execve(const char *filename, char * const argv[], char * const envp[]) {
return syscall(SYS_execve, filename, argv, envp);
}

所有实际的“工作”都在内核中完成。除了一些线程清理之外,libc 中没有发生任何特别有趣的事情。

关于linux - execve函数的实现(unistd.h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7381608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com