Visual Studio C++ 在可执行文件中创建可执行文件
Posted
技术标签:
【中文标题】Visual Studio C++ 在可执行文件中创建可执行文件【英文标题】:Visual Studio C++ Creating executable in executable 【发布时间】:2017-03-30 23:00:53 【问题描述】:我想创建只有 1 个可执行文件的 2 个可执行文件。我如何在 Visual Studio 2015 中做到这一点?我在互联网上查看,但找不到任何东西。没有向导我有什么办法可以做到这一点?只需 1 个解决方案中有 2 个项目,project1 的 exe 将创建 project2 的 exe。或者可以做我想做的事情。
目的是用户不必下载2个单独的exe,他只下载1个,然后在exe1旁边创建一个(两个程序的目的不同,所以exe1不会用于创建exe2)
【问题讨论】:
你的问题毫无意义。 “我怎么能用一辆车买两辆车?” “我怎么能用 1 个蛋糕烤 2 个蛋糕?” 您认为为什么需要生成第二个可执行文件?第一个的作用是什么,第二个的作用是什么。 第一个将只运行 1 次,第二个将是一个服务。第一个也有一个GUI。如果可能的话,我想这样做,而不是在程序第一次运行时留下一个标志,它可以再提供服务了。 【参考方案1】:在第一个可执行文件中使用 CreateProcess 从另一个可执行文件创建第二个进程。 https://msdn.microsoft.com/en-us/library/ms682512(v=vs.85).aspx
如果您需要一个项目的两个输出: 使用构建后事件:
1- 制作输出副本。
2- 改变你想改变的任何东西。
3- 再次构建相同的项目: Build another project by prebuild event without adding reference 在您的情况下,另一个项目是同一个项目。
【讨论】:
我不知道我需要什么。我希望他们彼此独立。当 exe1 运行时,它会生成 exe2,它是与 exe1 相同的解决方案中的一个项目。而且它们的内容不同。 那么你只需要 CreateProcess 和第二个可执行文件的路径。 嗯,是不是有可能用户只打开 1 个 exe 并创建另一个? 是的,CreateProcess 将在第一个可执行文件中为您执行此操作。您需要将第二个可执行文件的路径传递给此函数。以上是关于Visual Studio C++ 在可执行文件中创建可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 中调试由可执行文件调用的 C++ 文件
visual studio 2010 一个解决方案里有多个c++源文件 怎么只执行其中一个?