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。
任何人都知道为什么?
答案 0 :(得分:1)
您是否编写了互操作或者您只是使用.NET生成的互操作类?如果后来尝试
string myStr = "some string";
myFunctionInDll(myStr);
希望有所帮助。