作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道 C++ 实际上是如何将命令行参数转换为 char 数组的?这是什么“ secret ”代码?我在哪里可以查看执行此操作的代码(即使它在汇编中,我知道一些汇编)?如果有帮助,我正在使用 Linux。
谢谢
最佳答案
在大多数(所有?)基于 Unix 的操作系统中,它们已经是一个数组。这就是操作系统在那里执行进程的方式——当进程启动时,已经有一组参数准备好。
将命令行转换为数组的代码存在于 shell(如 bash)或启动另一个程序的任何其他程序中。 bash
有可用的源代码,其他程序 — 它是不同的。
在 Windows 中,它们是一个字符串(您可以使用 GetCommandLine()
API 调用获取未修改的字符串),它由 C 运行时库解析以将其转换为数组,因为语言规范要求它们以数组的形式出现。
对于使用 Visual C++ 编译的程序,执行此操作的代码包含在 Visual Studio 发行版中。您可能必须在安装程序中打开一个复选框,上面写着类似“包括 C 运行时库源”的内容,以便安装它。
关于c++ - C++ 如何将命令行参数转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231186/
我是一名优秀的程序员,十分优秀!