如何在 Windows ( C++ ) 中创建进程到 运行 另一段代码?

How to create process in Windows ( C++ ) to run another section of code?

我正在尝试在一个简单的 cpp 程序中创建一个进程,并希望 运行 此进程中来自不同源文件的另一段代码。我发现 CreateProcess API for Windows 允许我们创建进程,但它似乎只需要执行 exe 文件。有没有办法在 windows 中创建一个进程并提供一个类似于线程的函数等由它执行?

PS:我不是在寻找基于线程的解决方案,因为我想用进程和共享内存测试一些东西。

Is there a way to create a process in windows and provide a function etc. to be executed by it similar to threads?

没有。但是你可以做的是让你的程序 运行 自己的另一个副本,传递给它命令行参数来告诉它根据需要做什么。您可以使用 GetModuleFileName() 获取当前进程的 EXE 文件的完整路径。然后,在你的main()/WinMain()中,如果任何命令行参数存在,运行适当的函数然后退出,否则运行你的主要逻辑正常。