这是我第一次,我想使用 windows CreateProcess函数创建一个并行进程。根据 MSDN 上的示例,我创建了一个像这样的LPTSTR
“(非常量)TCHAR 字符串” 命令行参数
LPTSTR szCmdline[] = _tcsdup(TEXT("\C:\\MyProgram_linux_1.1\\MyProgram.exe") );
LPTSTR 和其他字符和字符串类型在这里讨论
CreateProcess
命令行参数像这样传递给
if (!CreateProcess(NULL, szCmdline, /*...*/) ) cout << "ERROR: cannot start CreateProcess" << endl;
并且这些标题存在
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <strsafe.h>
#include <direct.h>
编译时出现以下错误:
error C3861: '_tcsdup': identifier not found
搜索此错误发现了相同的错误,但解决方案特定于使用 .NET 框架,而不是解释error C3861: '_tcsdup'
不确定它是否相关,但也有error C2059: syntax error : ')'
一个if (!CreateProcess(NULL, szCmdline, /*...*/) ) cout << "ERROR: cannot start CreateProcess" << endl;
这个错误是如何解决的?而且,这是怎么回事?
此外,我将CreateProcess
用作学习 Linux 功能的学习步骤fork()
- Visual Studio 界面对我来说更易于使用,一旦调试并工作,我将更改为 g++ 界面并fork()
从那里更改并调试 - 所以如果可能,导致 的解决方案fork()
是最有益的。