用于C ++类的DLL代理 [英] DLL Proxy for C++ classes

查看:60
本文介绍了用于C ++类的DLL代理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,



首先,我发现你关于代理DLL的文章很有意思!



我然后尝试使用由您的工具(wrappit)生成的代理覆盖DLL。



编译代理后,当我查看导出时,我发现一些导出的C ++类方法的装饰名称的差异。



我想知道它是否依赖于我的编译器的某些选项(VC ++。NET 2003)。 ..



例如,原始dll导出?? 0MyClass @@ QAE @ PADHH @ Z,这是构造函数MyClass ::的修饰名称MyClass(char *,int,int)。

编译代理时(使用类似?? 0MyClass @@ QAE @ PADHH @ Z = __ E__0__ @ 1的def文件),如果我把它丢弃了,我得到?? 0MyClass。



这对于其他所有C ++类的导出都是一样的:它就像@ *在链接期间避免...



您对此有一些信息吗?


非常感谢提前!

Hello,

First, I found your article on Proxy DLLs very interesting!

I tried then to override a DLL with a proxy, generated by your tool (wrappit).

Once the proxy is compiled, when I look at the exports, I find some differences in the decorated names of the exported methods of C++ classes.

I''m wondering if it depends on some options of my compiler (VC++.NET 2003)...

For example, the original dll exports "??0MyClass@@QAE@PADHH@Z", which is the decorated name of the constructor "MyClass::MyClass(char*, int, int)".
When the proxy is compiled (using a def file like "??0MyClass@@QAE@PADHH@Z=__E__0__ @1"), and if I dumpbin it, I get "??0MyClass".

That''s the same thing for every other C++ classes exports: It''s like the @* were avoided during the link...

Do you have some information on this ?

Many thanks by advance!

推荐答案

写道:​​

第一,我发现你关于代理DLL的文章非常有趣!

First, I found your article on Proxy DLLs very interesting!





我不明白为什么这么多人发布到网站上,并且无法解决该文章下面的论坛是您用来与文章作者交谈的论坛。



I don''t get why so many people post to the site, and cannot work out that the forum below the article, is the one you use to talk to an article author.


这篇关于用于C ++类的DLL代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆