我需要使用DLL来实现类似于Linux共享内存的功能。我对Windows编程经验非常有限,但我认为可以实现我的目标。我想要做类似下面的事情:
自然地,这个例子忽略了竞争条件等问题,但是有没有一种简单的方法来处理这样的事情?
我将使用Microsoft Visual Studio 10创建DLL。 有人能解释一下我如何编写这么简单的代码并将其构建为一个DLL,以便可以像上面的伪代码一样加载和调用它吗?
编辑:由于我创建的进程在LabVIEW和Lua中,因此无法使用共享内存段和内存映射文件。 然而,它们支持DLL,这就是为什么我需要这种“过时”的方法的原因。
DLL
int x;
void write(int temp)
{
x = temp
}
int read()
{
return x;
}
步骤1:
LoadDLL();
write(5); //int x = 5 now
步骤2:
LoadDLL();
printf(read()); //prints 5 since int x = 5 from Proccess 1
自然地,这个例子忽略了竞争条件等问题,但是有没有一种简单的方法来处理这样的事情?
我将使用Microsoft Visual Studio 10创建DLL。 有人能解释一下我如何编写这么简单的代码并将其构建为一个DLL,以便可以像上面的伪代码一样加载和调用它吗?
编辑:由于我创建的进程在LabVIEW和Lua中,因此无法使用共享内存段和内存映射文件。 然而,它们支持DLL,这就是为什么我需要这种“过时”的方法的原因。