这样很难,尤其两种不同语言之间。应该导出函数,在dll中对该变量的操作同步。

解决方案 »

  1.   

    生成Win32 DLL, C#可以调用这种DLL
    DLL内部保持一份map来看是否已经存在
      

  2.   

    采用回调的方式 ,dll回调c#中的函数,dll数据变通就回调c#,这样c#肯定取到的都是不同的数据
      

  3.   


    现在出现的问题不仅仅在这块了,C#调用的时候发现C++ dll中需要的程序完全没有运行....C#调用C++ dll中函数的时候是怎样一个工作原理呢,是只要载入了就直接运行了还是说需要有其他方面的使用才可以执行呢....
    在网上也没找到C#调用函数时候写的详细的帖子....
    请大神赐教....
      

  4.   


    现在出现的问题不仅仅在这块了,C#调用的时候发现C++ dll中需要的程序完全没有运行....C#调用C++ dll中函数的时候是怎样一个工作原理呢,是只要载入了就直接运行了还是说需要有其他方面的使用才可以执行呢....
    在网上也没找到C#调用函数时候写的详细的帖子....
    请大神赐教....
    1.首先你要确实你dll与c#程序运行的平台是不是一样,不能一个是32位另一个是64位的,c#默认是64位的,c++默认的32位的,这样你c#调用32位的dll不会成功的。
    2.c++需要导出函数,c#以调用dll函数的形式调用c++dll,但你的需求是需要c++调用你c#中的函数来实现c++数据变通主动通知c#,这就是回调,你可以参考我以前的回贴http://bbs.csdn.net/topics/390716356