C#調用C++寫的DLL問題,急

jock_liu 2009-03-24 10:41:50
廠商有提供一VC++寫的dll文件(含abc.dll,abc.lib,a.h共3個當案)
我現在用C#寫的程式準備調用abc.dll,我使用DLLIMPORT引入
再調试的時候,顯示無法找到函數的入口,我用VC做的話只需要引入
a.h即可,請問在C#中該如何做,謝謝.
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jock_liu 2009-03-24
  • 打赏
  • 举报
回复
public RTD_Program(int comPort,StringBuilder str)
{
_comPort = comPort;
_strFile = new StringBuilder();
_strFile = str;
//_flashaddr = \Xff000;
}
//[DllImport("debugtools_library.dll", EntryPoint = "SetHDCP_CODE")]
[DllImport("debugtools_library.dll")]
private static extern long RtdProgram
(
int comport,
ref StringBuilder strFile,
UInt32 flashaddr,
int mode
);
//[DllImport("debugtools_library.dll", EntryPoint = "GetHDCP_CODE")]
[DllImport("debugtools_library.dll")]
private static extern long RtdRead
(
int comport,
UInt32 flashaddr,
UInt32 length,
ref StringBuilder strFile //unsigned
);
public long Write_HDCP()
{
retval = RtdProgram(_comPort, ref _strFile, 0xff000, 2);
return retval;
}
public StringBuilder Read_HDCP()
{
RtdRead(_comPort, 0xff000, 320, ref _strBuff);
return _strBuff;
}
再執行public long Write_HDCP()的時候報錯
在DLL'debugtools_library.dll中找不到RtdProgram進入點
dll函數接口
__declspec(dllexport) long RtdProgram(int comport, char* strFile, UINT32 flashaddr, int mode);
__declspec(dllexport) long RtdRead(int comport, UINT32 flashaddr, UINT32 length, unsigned char* getData);
wangzhe1945 2009-03-24
  • 打赏
  • 举报
回复
放到当前程序目录中,DLLIMPORT, 申明为外部函数,就可以调用了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧