日期:2014-05-18  浏览次数:20947 次

怎样引用dll中带有@的函数
C++生成的Dll函数名带有@?如“_AvisynthPluginInit2@4”后面是数字2加@还有个4
C#中怎么调用呢?声明的函数又不能带有@? 请大侠赐教,多谢!

------解决方案--------------------
应该直接用AvisynthPluginInit2就行,后边那个@和数字是参数总字节数,不用管
------解决方案--------------------
dllimport
------解决方案--------------------
为你的C++ dll项目添加模块定义文件(.def)
def文件内容为:
LIBRARY
EXPORTS
AvisynthPluginInit2 = _AvisynthPluginInit2@4
------解决方案--------------------
[Quote=引用:]

为你的C++ dll项目添加模块定义文件(.def)
def文件内容为:
LIBRARY
EXPORTS
AvisynthPluginInit2 = _AvisynthPluginInit2@4
[/Quote]

这个的作用是?


------解决方案--------------------
或者:
C# code
            [DllImport("MyDll.dll", EntryPoint = "_AvisynthPluginInit2@4")]
            public static extern void AvisynthPluginInit2();