c - 不在其运行时库中拆分参数的 Windows C 编译器?

标签 c windows command-line

我听说在 Windows 中,参数被传递给一个参数,然后程序将其拆分为多个参数,在其运行时库中,有时在实际代码中。

我听说大多数 C/C++ 编译器在运行时库中执行此操作(例如,我下载的 TCC - Tiny C Compiler)

有没有我可以下载的 C 编译器?有指向它们的链接吗?

在这样的编译器中,argsv[0] 会拥有整个字符串吗?

已添加

它基于此人 ( jdedb ) 在 super 用户问题 Can't pipe or redirect Cygwin grep output 中所说的内容,似乎建议我在 Stack Overflow 上提问。

“如果它想以 Unix(和 C 语言)方式运行,则由被调用程序将命令尾部拆分为单词。(Win32 的大多数 C 和 C++ 语言实现的运行时支持库在后面进行拆分场景。”

他说是编译器.. 但是according to Necrolis ,它不是编译器。 (添加- Necrolis 评论纠正我的误读,编译器!=运行时库)

最佳答案

如果您使用的是 Windows,只需使用 GetCommandLine .这就是大多数 CRT 包装器让命令行开始拆分的方式。

至于你的实际问题,它不是编译器,而是他们使用的 CRT 启动包装器。如果您实现 mainCRTstartup,并用它覆盖入口点,您可以做任何您想做的事。可以看到它如何工作的一个很好的例子 here .

关于c - 不在其运行时库中拆分参数的 Windows C 编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267051/

相关文章:

command-line - 使用 mdtool 编译 monotouch 应用程序失败,可在 MonoDevelop 中运行

c++ - 在#define 宏中转义# 符号?

c - 为什么使用 4096 个元素作为 char 数组缓冲区?

c# - 存储有关文件的其他元数据

java - 在 Java 中,如何从 Windows 的上下文菜单中读取文件名

ruby - 使用 OptionParser 解析 Ruby 中的多个命令行选项

c - 指针、链表和函数

c - 根据 linux 上的 x86-64 调用约定设置本地堆栈

python 没有足够的 RAM 使用磁盘空间而不是 RAM

bash - 使用 head 和 tail 命令显示选定的行