|
|
1
4
最简单的方法可能是让两个包装器类实现所有内部(.NET)名称,这些名称调用它们的导入,然后在运行时根据平台实例化正确的名称。然后通过公共接口访问API。
编辑:界面和四个类应该可以通过少量代码生成来创建。包含名称DesktopImport CFImport的输入文件(如果这些名称不同,可能会添加dll名称)。是学习VS T4模板的借口。。。 |
|
2
1
修饰名称是编译器在编译函数定义或原型时创建的字符串。名称中的“@4”表示其参数总长度为4字节(32位整数?)。 你可以用 dumpbin.exe |
|
|
3
0
使用#定义你的dllname_API 外部“C” __declspec(dllexport)公开dll中的方法,避免函数修饰,这样您就不会得到上述异常,例如: 动态链接库:
正在调用Project/exe:
//已避免EntryPointNotFoundException |