C++如何将命令行参数转换为数组?

vis*_*.15 3 c++ arrays assembly command-line-arguments

我想C++如何将命令行参数转换为char数组?什么"秘密"代码这样做?我在哪里可以查看执行此操作的代码(即使它在汇编中,我知道一些汇编)?我正在使用Linux,如果这有帮助的话.

谢谢

ham*_*ene 7

在大多数(所有?)基于Unix的操作系统中,它们已经是一个数组.这就是操作系统在那里执行进程的方式 - 当进程启动时,已经有一系列参数可供它使用.

将命令行转换为数组的代码存在于shell(如bash)或启动另一个程序的任何其他程序中.bash有它的来源,其他程序 - 它是不同的.

在Windows中,它们是一个字符串(您可以使用GetCommandLine()API调用来修改它),它由C运行时库解析以将其转换为数组,因为语言规范要求它们作为数组出现.

对于使用Visual C++编译的程序,执行此操作的代码包含在Visual Studio分发中.您可能必须在安装程序中打开一个类似"包含C运行时库源"的复选框才能安装它.