DLL互操作/有趣的错误

时间:2009-05-22 03:05:35

标签: c++ c pointers interop

char ARRAY[1024]; // <-- global

以下代码

myFunctionInDll("some string"); // everything ok

以下代码不起作用

myFunctionInDll(ARRAY); // after compilation the entry point of DLL cannot be found

所以,总而言之,如果我将“静态字符串”传递给我的dll中的函数,则dll会完全编译并加载。但是,如果我填充全局数组(chars)然后尝试将其传递给我的函数,那么它再次编译,但是当我尝试从我的C#app调用该函数时,我得到'入口点无法找到。这真的很奇怪,我找不到原因......

谢谢RU。

任何人都知道为什么?

1 个答案:

答案 0 :(得分:1)

您是否编写了互操作或者您只是使用.NET生成的互操作类?如果后来尝试

string myStr = "some string";
myFunctionInDll(myStr);

希望有所帮助。