相关疑难解决方法(0)

在两个进程之间共享内存(C,Windows)

由于我没有找到前面提到的问题的答案,我正在尝试不同的方法.

有没有办法在两个进程之间共享内存?

第二个过程从注入中获取信息,因为它是一个遗留程序,它不再受支持.

我的想法是在那里注入一些代码,在我传递给注入程序的结构中将地址(或其他)传递给我需要运行的数据所在的共享内存.一旦我得到数据,我将在注入的线程中填充我自己的变量.

这可能吗?怎么样?

代码表示赞赏.

编辑:

我认为现在还不清楚所以我会澄清一下.我知道如何注射.我已经这样做了.这里的问题是将动态数据传递给注入.

c memory windows share code-injection

28
推荐指数
3
解决办法
6万
查看次数

使用pipe在父级和子级之间传递整数值

我对如何正确使用pipe()在两个进程之间传递整数值感到困惑.

在我的程序中,我首先创建一个管道,然后我把它分叉.我假设我有"两个"管道呢?

据我所知,这是我的任务.我的父进行for循环检查某个操作的整数值"i",增加count变量,并将值保存到数组中.每次检查后,我的父母应该通过管道向我的孩子传递一个整数值"i".然后我的孩子使用该整数值,对值进行一些检查,并且应该增加一个计数变量,并将结果保存在[shared?]数组中.最终,孩子应该将它的最终计数返回给父母,然后父母打印出两个计数,以及"共享"数组.

- >我不确定我需要共享数组还是保存结果.我可能只需要计数 - 家庭作业含糊不清,我正在等待教授的回应.也; 我甚至可以在进程之间进行共享数组吗?这听起来像是一个问题的开始.

- >这是我的问题:一个; 如何使用整数管道?我只看过它们的字符数组,之前的答案似乎并不认为这是可能的或合法的.?我不确定.没有我能找到的解决方案.

- >如何使用单向管道将整数传递给孩子?并让孩子归还一些东西?我不知道我怎么能......区分两个管道.我确实"知道"[或者认为我知道]我必须关闭每个管道的一个未使用的部分,以避免"一些模糊的问题".

抱歉愚蠢的问题; 我还没有在本课程中学过流程(除了叉子)或管道(根本没有) - 所以我不确定从哪里开始!

这是我的代码的一部分 - 它不漂亮,它不起作用,我不指望它.它更像是一个shell占位符.一旦我弄清楚如何使用管道 - 我可能会让代码有意义.

int main(void)
{
int fd[2];
pid_t childpid;
pid_t parentpid;
int i;
int threecount = 0;
int fivecount = 0;;
int results [MAXSIZE];

parentpid = getpid(); //Get current process ID number

pipe(fd);
childpid = fork(); 

if(childpid == 0){
close(fd[0]); //Closing this for some other reason

}
int j = 0;

if(childpid > 0)
close(fd[1]); //Closing this for some reason …
Run Code Online (Sandbox Code Playgroud)

c pipe

17
推荐指数
1
解决办法
6万
查看次数

标签 统计

c ×2

code-injection ×1

memory ×1

pipe ×1

share ×1

windows ×1