C如何将命令行参数转换为数组?
我想C实际上如何将命令行参数转换为char数组?什么“秘密”代码这样做?我在哪里可以查看执行此操作的代码(即使它在汇编中,我知道一些汇编)?我正在使用
Linux,如果这有帮助的话.
谢谢 解决方法
管理命令行参数并在进程创建期间将其放入堆栈是一项操作系统工作.
对于POSIX系统,执行路径是: >在程序中调用execle / execve / …系统调用,将路径传递给新的进程可执行文件和命令行参数. 对于Linux,您可以在此处查看此代码: 383 /* 384 * 'copy_strings()' copies argument/environment strings from the old 385 * processes's memory to the new process's stack. The call to get_user_pages() 386 * ensures the destination page is created and not swapped out. 387 */ 在用户空间execve()系统调用的do_execve()内核对应部分,在第1345行,调用copy_strings(),copy_strings()例程实际上完成了你所询问的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |