我想将两个程序合并为一个可执行文件。一个是一个开源程序,具有相当复杂的项目文件,另一个是我的一个,结构简单得多。由于项目文件相对复杂,我认为从开源项目开始并修改它以包含我的源文件是最有意义的。
我的意图是我的程序应该受到控制,并将另一个程序视为实用函数的集合。
我注意到开源程序有一个名为“main()”的函数,而我的有一个“WinMain()”。想必我必须告诉编译器首先调用我的 WinMain() 。我该怎么做?
合并过程中还有什么需要注意的吗?
编辑: 两个程序都是 C++,而不是 C。
编辑:开源程序执行的 io 操作很少。
编辑:我想知道的关键是我是否必须修改项目设置中的某些内容来说明“这是一个使用 WinMain() 而不是控制台的 Windows 程序(?)使用 main() 的程序”或者编译器会以某种方式自行解决这个问题。
更新: union 计划现已启动并运行。
最佳答案
如果您的程序有 WinMain()
,则它可能是 Windows 程序,而另一个是命令行应用程序。根据原始应用程序的实际用途,这可能会使合并它们变得困难。例如。如果另一个应用程序广泛使用标准输入/输出,则将其转换为 Windows 应用程序将具有挑战性。但是,如果它只是一堆没有副作用的实用方法,您只需将代码添加到您的项目中并开始使用它即可。
您必须设置项目以生成 Windows 可执行文件,然后链接器将自动安排对 WinMain()
函数的调用。
关于c++ - 连接两个程序,一个使用 main(),一个使用 WinMain(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882366/