传递对c可执行文件的引用

时间:2018-03-24 03:27:16

标签: c parameter-passing

是否可以将对变量的引用作为参数发送到C?

中的可执行文件

假设我有一个名为Data={ num_files:2 } Video = { preview: { play_all: function(){ for(i=0;i<Data.num_files;i++){ $('#video'+i).get(0).play(); } } } } 的父进程,它定义了多个数组。现在,如果我mainfork()每个数组都调用一个名为exec*()的C程序。我的问题是:我可以创建一个sort程序,可以通过引用访问数组(在sort中定义)吗?如何将引用传递给main

中的数组

我在这个实现中看到的优点是当父进程将引用传递给数组时我得到的简单性,一旦main正确退出,数组就会被排序。 (鉴于,我必须编写并使用该程序sort。)

1 个答案:

答案 0 :(得分:3)

不,你不能。使用exec*()函数执行流程后,它无法再访问旧流程的变量。

  

man execlp

     

exec()系列函数用新的过程映像替换当前过程映像。

您可以通过exec数组传递argv d程序值 参数。如果由于您拥有复杂的数据结构而无法实现,那么 您可以在程序之间使用共享内存。见How to use shared memory with Linux in C