C# 使用C++写的DLL 提示无法找到入口点

C++代码//异或加密类classCOM_SERVICE_CLASSCXOREncrypt{//函数定义private://构造函数CXOREncrypt(){}//功能... C++代码
//异或加密类
class COM_SERVICE_CLASS CXOREncrypt
{
//函数定义
private:
//构造函数
CXOREncrypt() {}

//功能函数
public:
//生成密文
static WORD EncryptData(LPCTSTR pszSrcData, LPTSTR pszEncrypData, WORD wSize);
//解开密文
static WORD CrevasseData(LPCTSTR pszEncrypData, LPTSTR pszSrcData, WORD wSize);
};
C# 调用DLL代码
[DllImport("ComService.dll")]
public static extern int EncryptData(string pszSrcData, string pszEncrypData, int wSize);
C# 初始化代码
EncryptData(this.textBox6.Text, this.textBox7.Text,1);
编译的时候 没有任何问题 可是运行的时候就提示 无法找到入口点
DLL的名字为 ComService.dll
各位大大帮下小弟哦
现在入口已经找到了
可是有个问题 C# 代码中的 EncryptData(string pszSrcData, string pszEncrypData, int wSize);
pszEncrypData是返回值 我怎么得到返回值那
展开
 我来答
吉祥二进制
高粉答主

2015-12-26 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84575

向TA提问 私信TA
展开全部
[DllImport("XXXXXX.dll") ]
public static extern int function(parameter1,parameter2,..);
参数类型要写对 是否需要ref
还要注意调用方式
类型对照:
BSTR --------- StringBuilder
LPCTSTR --------- StringBuilder
LPCWSTR --------- IntPtr
handle---------IntPtr
hwnd-----------IntPtr
char *----------string
int * -----------ref int
int &-----------ref int
void *----------IntPtr
unsigned char *-----ref byte
Struct需要在C#里重新定义一个Struct
CallBack回调函数需要封装在一个委托里,delegate static extern int FunCallBack(string str);
注意在每个函数的前面加上public static extern +返回的数据类型,如果不加public ,函数默认为私有函数,调用就会出错。
abcd1236386
2009-10-24 · TA获得超过774个赞
知道小有建树答主
回答量:539
采纳率:0%
帮助的人:525万
展开全部
我也遇到 了,我的是函数,没有类,解决方法是在函数前面加上
extern "C" __declspec(dllexport)
声明和实现都得加上,说是这样才是导出函数,
我觉得类也类似,你试试吧,但愿对你有用
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kong_bird
2009-10-24 · TA获得超过321个赞
知道答主
回答量:244
采纳率:0%
帮助的人:128万
展开全部
我对dll文件还不是太懂,期待高手前来指导
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑灯·真
2009-10-25 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
得到pszEncrypData返回值有两种方法:
1.把int EncryptData()的类型改成string,在这个方法的最后return pszEncrypData就能得到它的值。

2.把参数pszEncrypData改成 ref string pszEncrypData或者out string pszEncrypData,这样传进去的参数在方法内的任何改变都会直接改变方法外部传进去的那个数的值,这样你就能在外部直接使用这个值。这种传参方法叫做引用传参,它传进去的实际上是那个参数的地址。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kid83
2009-10-24 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1985万
展开全部
你得在CXOREncrypt.h里定义一个
main函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式