C语言调用外部EXE程序,用的这个ShellExecute,出现内存泄漏怎么解决

C语言调用外部EXE程序,用的这个ShellExecute,出现内存泄漏怎么解决,第1张

声闭颂空明:本人并不太懂C语言,也不知道什么是ShellExecute,以下回答仅供参考。

ShellExecute本身并不存在内存泄漏的固有BUG,然而在调用外部EXE程序时出现了内存泄漏,我觉得可能的原因是:

调用的API方法不正确;

外部exe的固有BUG;

外部exe不能被ShellExecute调用;

代码存在问题,比如打开了外部的exe程序却没有在使用完成后进行垃圾回收,据我所只C/C++的内存泄漏问题的大部分都是由于没有进行垃圾回收所造成轿瞎的。樱誉

以上。

fe函数名: exec...

功 能: 装郑搭裤入并运行其它程序的函数

用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)

int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,

char *envp[])

int execlp(char *pathname, char *arg0, arg1, .., NULL)

int execple(char *pathname, char *arg0, arg1, ..., NULL,

char *envp[])

int execv(char *pathname, char *argv[])

int execve(char *pathname, char *argv[], char *envp[])

int execvp(char *pathname, char *argv[])

int execvpe(char *pathname, char *argv[], char *envp[])

程序例: /喊简* execv example */

#include <process.h>

#include <枝裂stdio.h>

#include <errno.h>void main(int argc, char *argv[])

{

int i printf("Command line arguments:\n")

for (i=0i<argci++)

printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")

execv("CHILD.EXE", argv) perror("exec error") exit(1)

}

多看书,多Google,百度,

c#调用外部誉知exe程序,首先要

using System.Diagnostics

然后开启一个新process

System.Diagnostics.ProcessStartInfo p=null

System.Diagnostics.Process Proc

p = new ProcessStartInfo("nnnn.exe","参数")

p.WorkingDirectory = exepath//设置此外颂虚孙部程序所在windows目录

Proc = System.Diagnostics.Process.Start(p)/野链/调用外部程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12337876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存