首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问一个奇怪的有关问题,为什么小弟我用C++生成的DLL文件,在win8系统下用C#调用正常,换XP就出有关问题呢

2013-09-06 
问一个奇怪的问题,为什么我用C++生成的DLL文件,在win8系统下用C#调用正常,换XP就出问题呢?C#的代码class C

问一个奇怪的问题,为什么我用C++生成的DLL文件,在win8系统下用C#调用正常,换XP就出问题呢?
C#的代码


class C_strOpDll
    {       
        [DllImport("CXstr.dll")]
        public static extern void myTest();
   }

public Form1()
{
        InitializeComponent();
        MessageBox.Show("00");
        C_strOpDll.myTest();
        MessageBox.Show("11");//这里换XP系统运行不到这里,win8能到这里

}


c++代码

extern "C" __declspec(dllexport) void myTest()
{
MessageBox(NULL,TEXT("OK"),TEXT("test ij"),MB_OK);//XP没有到这步
}
//另外我在DLL入口函数内也加了MSGBOX
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
 )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
MessageBox(NULL,TEXT("123"),TEXT("123"),MB_OK);//XP也没到这里
break;
}
return TRUE;
}


在XP下运行除了弹出个对话框“00”(我自己设的)外,接着就弹出“遇到问题需要关闭”的提示,请问这是为什么? win8 c# xp
[解决办法]
是不是你的dll编译成64bit的了。

热点排行