gpt4 book ai didi

java - 什么在 Windows 上将命令行参数解析为 args[]?

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:36 25 4
gpt4 key购买 nike

在 Windows 上,CreateProcess win32函数用于创建新进程。此函数的签名采用指向“命令行”lpCommandLine 的指针,因此命令行作为单个字符串传递。

我熟悉的每一种语言(C、C++、C#、Java)都允许 main 函数接受字符串数组。因此,在 CreateProcess 和 main 之间的某处,一定有一些东西正在解析 lpCommandLine 并将其转换为 args[]

这个解析代码存放在哪里?它是操作系统的一部分(在 CreateProcess 中),还是每种语言“运行时”的一部分(在调用 main 之前在新进程中运行的代码)?

最佳答案

链接到您正在运行的程序的运行时启动代码。例如,对于 C,它是 crt0.c。

创建的进程在某个声明的入口点开始以用户模式执行,该入口点不是main。它是调用 main 的 C 运行时。

当我还是一名 Windows C 程序员时,C 运行时源代码包含在 SDK 中。

关于java - 什么在 Windows 上将命令行参数解析为 args[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001676/

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