我可以通过命令行参数向 C++ 程序传递多少数据?

Ben

我在用 C++ 和 python 编写的程序之间传递数据。

我发现最简单的方法之一是编译一个 C++ 程序,然后在 python 中使用调用它subprocess.call('cprog.exe arg1 arg2', shell=True),并通过参数传输数据arg1, arg2.... etc

这避免了使用 Cython、boost ... 等......我发现在 Windows 上工作是一个巨大的痛苦。特别是在未连接到互联网的老化服务器上​​。(请不要回复这篇试图帮助 cython 或 boost 等的帖子 - 我想将讨论限制在主要问题上。)

我的问题是:这种方法的局限性是什么?

我可以序列化/编码/解码整个数据数组并以这种方式通过命令行参数传递它们吗?几 GB 大小的文件呢?

这会比写入硬盘驱动器然后从硬盘驱动器读取更快吗?


编辑:这似乎是相关的:Maximum Length of Command Line String

英国猴子

main 的签名是

int main(int argc, const char** argv)

因此,您受到 argv 大小的限制,并且不能保证能够传递超过 32767 个参数。根据您的操作系统和机器,您之前可能会遇到其他限制,但这是该语言内置的限制。

请注意,对于任何给定的编译器,可能具有更大的 int 大小,并且可能能够支持更多数量的参数,但标准不保证这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从命令行向C程序传递参数包括换行符(\ n)

执行C ++程序的命令行参数

从命令行将参数传递到C程序

如何使用 bash 脚本向 dotnet c# 程序输入命令行参数?

如何在 C/C++ 中通过命令行传递输入(不是参数)?

如何在C ++中通过命令行参数传递常量int?

我可以将整个字符串作为一个命令行参数传递给C中的argv吗?

如何为C / C ++传递可选的命令行参数?

通过sbatch传递命令行参数

通过Bash传递命令行参数

通过schtasks传递命令行参数

将参数从命令行传递到C ++

通过C中的命令行传递整数?

在 C 中通过命令行传递标点符号

我可以通过命令行将命令传递给Vimperator / Firefox吗?

如何使用execlp将命令行参数传递给C程序

通过命令行参数提取列数据的Python程序?

Luigi:是否可以通过命令行将“ false”传递给bool参数?

是否可以通过命令行参数传递给“执行启动器”操作?

在没有CRT编译的程序中,是否可以通过argv读取命令行参数?

有什么方法可以检查在C中的buffor中写入了多少数据/字节

我们可以将命令行参数传递给ant target吗

我可以安全地通过命令行传递凭据吗?

C ++如何通过命令行参数读取txt文件

我可以使用YAML元数据设置命令行参数吗

我有一个带有字符串文字的程序,用于指定可选的命令行参数。如何在c中处理这些可选的命令行参数?

命令行参数c ++

Bash命令行参数通过ssh传递给sed

查找通过命令行参数传递的类型的大小