如何用一个c++程序创建进程调用另一个c++程序

如何用一个c++程序创建进程调用另一个c++程序,第1张

这里我创建了一个进程调用网易云音乐,代码如下。CreateProcess是关键

#include <stdioh>

#include <windowsh>

int main(int argc, char argv[])

{

  //创建进程

 char szCommandLine[]="C:\\Program Files (x86)\\Netease\\CloudMusic\\cloudmusicexe";

 STARTUPINFO si={sizeof(si)};

 PROCESS_INFORMATION pi;

 sidwFlags=STARTF_USESHOWWINDOW;

 siwShowWindow=true;

 bool bRet=::CreateProcess(

  NULL,

  szCommandLine,

  NULL,

  NULL,

  FALSE,

  CREATE_NEW_CONSOLE,

  NULL,

  NULL,

  &si,

  &pi);

 if(bRet)

 {

  ::CloseHandle(pihThread);

  ::CloseHandle(pihProcess);

  printf("新进程的进程ID号:%d\n",pidwProcessId);

  printf("新进程的主线程的ID号:%d\n",pidwThreadId);

 }

}

调用其他程序有两种方式,一个是直接调用其他模块中的函数,另外一个是用系统调用的方式调用已经编译连接好的可执行文件。

第一种方法的话,无论你用什么工具都是在你的程序里面添加你要调用函数的函数声明,然后再编译之后把两个obj文件连接起来。或者是把你要调用函数作到一个lib文件里面,然后连接到这个库。

第二种方式的话,就是把你要调用的函数(main函数)编译连接成一个独立的可执行文件,然后在你自己的程序里面指定目录结构程序名用系统调用执行。

VC的话不太适合初学者理解c语言,不过楼主如果是仅仅完成这个程序的功能的话,第一种方法中的编译和连接工作VB都会给你做,你只需要把代码加入工程中,然后在你的函数前声明调用的函数就行了。

--------不华丽的分割线-------

我明白了,你不理解的是我说的编译啊连接这些术语。这样吧,你新建一个VC工程,把那个c加进去,然后执行一下。接着去你建的那个工程的文件夹下找一个和你的工程名一样的后缀是exe的文件就能用了。前提是你要用的那个c文件里面有main方法。

第一个程序运行完毕后,加入一个命令save mat

第二个程序开始时插入一个命令 load mat

你也可以指定要保存的变量,详细指令可以在matlab中doc save,doc load,或者help都可以查看这两个命令的详细用法。

matlab尽量少用全局变量。

先把2个文件放在同一个包下面,这样就可以访问另一个java程序了。

一般的方法是在A程序里实例化B类,然后通过B方法名 去调用B类里的方法

RuntimegetRuntime()exec("外部程序");

相当于你在cmd控制台中输入"外部程序"并回车执行

以上就是关于如何用一个c++程序创建进程调用另一个c++程序全部的内容,包括:如何用一个c++程序创建进程调用另一个c++程序、C语言 调用另一个程序、matlab中的一个程序怎么调用另一个程序生成的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9316398.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存