C++ 主进程中创建的子进程必须是exe文件吗?

时间:2021-08-03 23:47:45
LPSTR sum(int a)
{
int b = 5;
cout<<"a+b="<<(a+b)<<endl;
return "0";
}
在main函数中:
int i=CreateProcess(sum(2),NULL,  NULL,   NULL,  FALSE,CREATE_SUSPENDED,   NULL,   NULL,   &si,   &pi);
为什么会创建进程不成功?     有什么办法可以 创建一个进程 使其运行一个函数。  急,在线等......

9 个解决方案

#1




CreateProcess ();//windows下面好像这个函数的第一个参数是另外一个进程的路径和名字吧!
你这样应该是失败的,找不到,

解决方法:windows不懂,当时可以 用sum函数写 写在main函数中,生成一个可执行文件,丢在
CreateProcess函数的第一个参数里!


Linux:这个下面解决就比较方便啦!
 fork()

返回值 为 0 :则是子进程 直接 执行函数就好啦


#2


运行函数要创建进程干什么,用创建线程啊。

#3


引用 1 楼 max_min_ 的回复:


CreateProcess ();//windows下面好像这个函数的第一个参数是另外一个进程的路径和名字吧!
你这样应该是失败的,找不到,

解决方法:windows不懂,当时可以 用sum函数写 写在main函数中,生成一个可执行文件,丢在
CreateProcess函数的第一个参数里!


Linux:这个下面解决就比较方便啦!
 fork()

返回值 为 0 :则是子进程 直接 执行函数就好啦



windows下的 CreateProcess 一般第一个参数填NULL,第二个参数填文件名和命令行参数

#4


CreateProcess () 中,如果第二个参数为NULL时,它会执行第一个参数的,毕竟第一次参数是lpapplicationname,第二个是commandline.现在,这个程序是试验品,如果可以的话,就把他应用到新的地方。
而且,我不能用exe文件的,因为,我只能在子进程中运行个函数而已。     

#5


我最终要解决的问题是:C++中,清空/重置内存使用峰值。各位大侠,如果能解决这个问题,上面的问题,就不用管了。  谢过!!

#6


还有个问题:C++中能得到线程的内存使用情况吗? 其中包括:workingsetsize ,peakworkingsetsize pagefileusage,Peakpagefileusage.

#7


GetCommandLine

#8


Windows 创建进程,只能是可执行程序。
不过Windows有一个.exe--- Rundll32.exe---,可以运行.dll 只要指定函数名,参数即可。

#9


WMI ?

#1




CreateProcess ();//windows下面好像这个函数的第一个参数是另外一个进程的路径和名字吧!
你这样应该是失败的,找不到,

解决方法:windows不懂,当时可以 用sum函数写 写在main函数中,生成一个可执行文件,丢在
CreateProcess函数的第一个参数里!


Linux:这个下面解决就比较方便啦!
 fork()

返回值 为 0 :则是子进程 直接 执行函数就好啦


#2


运行函数要创建进程干什么,用创建线程啊。

#3


引用 1 楼 max_min_ 的回复:


CreateProcess ();//windows下面好像这个函数的第一个参数是另外一个进程的路径和名字吧!
你这样应该是失败的,找不到,

解决方法:windows不懂,当时可以 用sum函数写 写在main函数中,生成一个可执行文件,丢在
CreateProcess函数的第一个参数里!


Linux:这个下面解决就比较方便啦!
 fork()

返回值 为 0 :则是子进程 直接 执行函数就好啦



windows下的 CreateProcess 一般第一个参数填NULL,第二个参数填文件名和命令行参数

#4


CreateProcess () 中,如果第二个参数为NULL时,它会执行第一个参数的,毕竟第一次参数是lpapplicationname,第二个是commandline.现在,这个程序是试验品,如果可以的话,就把他应用到新的地方。
而且,我不能用exe文件的,因为,我只能在子进程中运行个函数而已。     

#5


我最终要解决的问题是:C++中,清空/重置内存使用峰值。各位大侠,如果能解决这个问题,上面的问题,就不用管了。  谢过!!

#6


还有个问题:C++中能得到线程的内存使用情况吗? 其中包括:workingsetsize ,peakworkingsetsize pagefileusage,Peakpagefileusage.

#7


GetCommandLine

#8


Windows 创建进程,只能是可执行程序。
不过Windows有一个.exe--- Rundll32.exe---,可以运行.dll 只要指定函数名,参数即可。

#9


WMI ?