c++中声明为:int Txt_Extract(char *inPutText, char* content),dll名称为TXT_Extract.dllc#中调用格式为:
[DllImport("TXT_Extract.dll", CharSet = CharSet.Ansi, EntryPoint = "Txt_Extract")]
public static extern int Txt_Extract(string html, string content); int a = Txt_Extract(html, content);出现错误为:无法在 DLL“TXT_Extract.dll”中找到名为“Txt_Extract”的入口点。
请教高手原因!
[DllImport("TXT_Extract.dll", CharSet = CharSet.Ansi, EntryPoint = "Txt_Extract")]
public static extern int Txt_Extract(string html, string content); int a = Txt_Extract(html, content);出现错误为:无法在 DLL“TXT_Extract.dll”中找到名为“Txt_Extract”的入口点。
请教高手原因!
分如下
1:调用系统的Dll,如User32.lib等等,等同于在C#中调用C++的API,这个好办
2:自己用C++环境开发的封装好的Dll,这个必须要把函数引用出来,否则C#是调用不了的,在C#的写法有点像调用API,下面是一段C++自己写Dll的代码,楼主可以自由发挥
#include "stdafx.h"
#include <windows.h>#define LIBEXPORT_API extern "C" __declspec(dllexport)//这个必须有的LIBEXPORT_API char *GetWinText(char chrStr[255]){.....写的代码}在C#那边就和你写差不多了其实,本站有C#调用C++方法的文档