求extern "C" 用法解释
- C# code
extern "C" SAMPLEDLL_API bool Connect_Net(string ipadd, int portl);extern "C" __declspec(dllexport) bool Connect_Net(string ipadd, int portl);
我把这句话复制到VS里 就报错
说函数要有返回值
前面加上DLLIMPORT还是报错
- C# code
[DllImport("zkemkeeper.dll")] static private extern bool Connect_Net(string ipadd, int portl);extern "C" SAMPLEDLL_API bool Connect_Net(string ipadd, int portl);
这个东西得怎么用啊
我现在这个函数在最后一句报错 Connect_Net("com3", 122);无法在 DLL“zkemkeeper.dll”中找到名为“Connect_Net”的入口点。为什么啊 定义对象能调用 直接DLL就调用不了吗
- C# code
public partial class Form1 : Form { [DllImport("zkemkeeper.dll")] static private extern bool Connect_Net(string ipadd, int portl); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //[DllImport("kernel32.dll")] //public static extern bool Beep(int frequency, int duration); zkemkeeper.CZKEMClass axCZKEM1 = new zkemkeeper.CZKEMClass(); axCZKEM1.Connect_Net("com3", 122); Connect_Net("com3", 122); } }
求高手解答
[解决办法]
zkemkeeper.dll 是一个非.net的dll吗?
如果过是,直接DllImport就可以了。
extern "C" 是用在C++里的。
[解决办法]
还有,就是从你的代码看,你已经通过添加引用 引用了zkemkeeper.dll。如果这是一个非.net的dll,那么VS已经自动帮你interop它了。所以你不需要再次DllImport就可以直接使用其中的类及其方法。
[解决办法]
dll文件的,供外部调用
[解决办法]
extern "C" 是用在C++里的
[解决办法]
C++调用C编译器编译的模块时,就要加上extern "C".
[解决办法]
添加对这个dll的引用了吗?