won*_*nea 8 c# c++ unsafe dllimport
我正在将几个非托管c ++ DLL导入到我的项目中,但导入的DLL具有相同的方法名称,这会导致编译器问题.例如;
unsafe class Myclass
{
[DllImport("myfirstdll.dll")]
public static extern bool ReturnValidate(long* bignum);
[DllImport("myseconddll.dll")]
public static extern bool ReturnValidate(long* bignum);
public Myclass
{
int anum = 123;
long passednum = &anum;
ReturnValidate(passsednum);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想做的就是在导入时重命名方法.就像是;
[DllImport("myseconddll.dll")]
public static extern bool ReturnValidate(long bignum) AS bool ReturnValidate2(long bignum);
Run Code Online (Sandbox Code Playgroud)
这可能吗?
m-s*_*arp 12
使用DllImport属性的EntryPoint属性.
[DllImport("myseconddll.dll", EntryPoint = "ReturnValidate")]
public static extern bool ReturnValidate2(long bignum);
Run Code Online (Sandbox Code Playgroud)
现在,当您在C#代码中调用ReturnValidate2时,您将在myseconddll.dll上有效地调用ReturnValidate.
您可以为导入的函数提供任何名称,您只应DllImport使用EntryPoint属性在其中的函数名称中指定.所以你的代码看起来像:
[DllImport("myfirstdll.dll", EntryPoint="ReturnValidate")]
public static extern bool ReturnValidate1(long bignum);
[DllImport("myseconddll.dll", EntryPoint="ReturnValidate")]
public static extern bool ReturnValidate2(long bignum);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5816 次 |
| 最近记录: |