所以我想将一个变量从一个c 程序传递到另一个c 程序。
例如:
main()
{
char str[]="Hello,there!";
system("program2.exe");
}
我想用str[]
in program2.exe
。有没有办法将变量传递给另一个程序?
我使用文件从第一个程序写入数据并从第二个程序读取数据,但我想知道还有其他方法可以做到这一点吗?
使用文件将数据从程序传递到另一个程序好吗?
您不能在两个进程之间传递变量,因为系统上的每个进程通常都有自己的内存空间 - 每个变量都属于一个进程,因此不能从另一个进程访问(或者我相信)。但是您可以使用在进程之间传递数据pipes http://tldp.org/LDP/lpg/node9.html.
管道是由操作系统实现的缓冲区,是比文件更有效的进程间共享数据方法(是的,您可以使用文件进行进程间通信)。这是因为文件在访问之前必须写入磁盘,这使得进程间通信速度变慢。您还必须实现某种方法来确保两个进程在读取和写入文件时不会损坏文件。
此外,管道还可用于确保两个进程之间的持续通信,这使得它们在许多情况下都很有用。当使用半双工管道(上面链接)时,您可以为每个进程设置一个管道,以在它们之间建立通信通道(即每个进程的单向通信通道)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)