【发布时间】:2020-10-20 05:05:45
【问题描述】:
是否可以在 C 程序中调用单独的 C 程序(.exe 文件),就像它是一个函数一样?
我希望能够将任何类型的参数(与任何其他函数一样)传递给这个单独的程序,并获得返回值(以便它可以在宿主程序中使用)。
我想可以使用int argc, char *argv[]传递参数,但不知道是否可以传递整数、数组、指向结构的指针等等。
另一方面,我了解到主函数的返回值是系统特定的。由于我使用的是 Windows,所以这个返回值(类型、大小等)是否有任何限制?它可以是任何可以用作任何普通函数的返回值的东西吗?
谢谢!
【问题讨论】:
-
所以基本上你需要在这里学习三件事。 1)如何调用外部程序。 2)如何获取该程序的返回码。 3) 理解命令行参数。一次拿一个。
-
您可以从 C 程序执行()另一个 .exe 并通过 argc、argv 传递参数。这不是调用另一个 C 函数,而是调用整个程序。您可以使用 .dll 文件并在运行时动态链接它们。猜猜我们需要知道你想在这里完成什么。
-
这种在运行时链接 dll 文件的想法听起来是解决我问题的更好方法。谢谢你的想法
-
我只是想知道我是否能够像处理函数一样处理不同的 C 程序。了解所有输入和输出后,您无需在编译后更改它们,只需在“主机”程序中“连接”它们即可。
标签: c function parameter-passing return-value