我得到的第二个是由第一个使用以下API创建了两个控制台进程:如何让另一个进程创建的进程使用创建进程的一部分内存?
BOOL WINAPI CreateProcess(
__in_opt LPCTSTR lpApplicationName,
__inout_opt LPTSTR lpCommandLine,
__in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in BOOL bInheritHandles,
__in DWORD dwCreationFlags,
__in_opt LPVOID lpEnvironment,
__in_opt LPCTSTR lpCurrentDirectory,
__in LPSTARTUPINFO lpStartupInfo,
__out LPPROCESS_INFORMATION lpProcessInformation
);
现在我不知道,如果我将指针传递到所述第一进程的存储器的一部分,经由IpCommandLine到由第一个进程调用的第二个进程,将通过第二个进程读取该指针所指向的内存肯定会导致访问冲突错误或受到该API某些参数的值? 如果我不能单独使用这个API来达到我的目的,您提出什么方法来访问?
不,volatile不允许跳过地址空间。 – janm 2010-08-26 08:38:17
嗯......不。 volatile - 当天返回 - 表示编译器不应该通过在寄存器中“私下”保留一个变化的变量来进行优化,而是将更改写回到其他线程/中断处理程序等期望当前值的实际内存位置现在 - 在所有多级内存缓存和内核中,volatile不足以确保刷新到某个通常可见的级别。通常使用互斥锁,尽管在存储级别上可以使用各种存储屏障指令。 – 2010-08-26 08:39:58
啊。我有点期待volatile会仍然神奇地允许在proccesses中使用内存。 – Raynos 2010-08-26 08:48:49