本人想在dll中建一个socket,用来接收另一个计算机发来的数据。而在本机上有两个以上的进程来调用这个dll,从而使这两个进程共用一个socket的目的。
现在已试验出两个进程同时调用这个dll,不报错,dll部分程序如下:
#pragma data_seg("SharedData")
BOOL created = FALSE;
CMysocket *RecSocket;
#pragma data_seg( ) exern "C" char* PASCAL EXPORT myfun()
{
if(created == FALSE)
{
RecSocket = new CMysocket;
created = TRUE;
} return RecSocket->GetData();//CMysocket的成员函数,用来返回收到的数据
}每次第二个调用此dll的进程,RecSocket总是为空,请大虾指点!!
现在已试验出两个进程同时调用这个dll,不报错,dll部分程序如下:
#pragma data_seg("SharedData")
BOOL created = FALSE;
CMysocket *RecSocket;
#pragma data_seg( ) exern "C" char* PASCAL EXPORT myfun()
{
if(created == FALSE)
{
RecSocket = new CMysocket;
created = TRUE;
} return RecSocket->GetData();//CMysocket的成员函数,用来返回收到的数据
}每次第二个调用此dll的进程,RecSocket总是为空,请大虾指点!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货