Как создать процесс в Windows (C ++) для запуска другого раздела кода? - PullRequest
1 голос
/ 26 апреля 2020

Я пытаюсь создать процесс в простой программе cpp и хочу запустить другой раздел кода из другого исходного файла в этом процессе. Я нашел CreateProcess API для Windows, который позволяет нам создавать процессы, но кажется, что для его выполнения требуются только исполняемые файлы. Есть ли способ создать процесс в windows и предоставить функцию et c. исполняться им похоже на темы?

PS: я не ищу решения на основе потоков, поскольку хочу протестировать несколько вещей с процессами и общей памятью.

1 Ответ

3 голосов
/ 26 апреля 2020

Есть ли способ создать процесс в windows и предоставить функцию et c. быть им выполненным похожим на потоки?

Нет. Но то, что вы можете сделать, это заставить вашу программу запустить другую копию, передав ей параметры командной строки, чтобы сообщить ей, что делать по мере необходимости. Вы можете использовать GetModuleFileName(), чтобы получить полный путь к файлу EXE текущего процесса. Затем, в вашем main() / WinMain(), если присутствуют какие-либо параметры командной строки, запустите соответствующую функцию и выйдите, в противном случае запустите основной лог c в обычном режиме.

...