c++ - DLL 互操作/有趣的错误

标签 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# 应用程序调用该函数时,我得到“找不到入口点”。这真的很奇怪,我找不到原因......

谢谢 RU。

有人知道为什么吗?

最佳答案

您是编写了互操作还是只是使用 .NET 生成的互操作类?如果以后试试

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

希望对您有所帮助。

关于c++ - DLL 互操作/有趣的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896209/

相关文章:

c++ - 指向成员结构的指针如何工作?

java - "NewStringUTF"是指向函数的指针吗?或功能?

c++ - 装饰器模式 : how can I call(back) some members of decorator wrappers from the core class

c - 我需要帮助理解字符操作

c++ - fopen : is it good idea to leave open, 还是使用缓冲区?

c - 不明白为什么 strstr 函数返回非 NULL 值

c++ - 在 pugi xml_node 中保存 PUGI XML 树的子树

c# - 从 C# 启动 Debug模式应用程序

c++ - boost::asio:数据损坏

c - OpenCV 使用带有灰度图像的 cvImageCreate() 失败,并且调整大小通常失败