- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【翻译】Qt内部机制及逆向
原作者: HYPERLINK /forum/member.php?19162-Daniel-Pistelli \o Daniel Pistelli is offline Daniel Pistelli ;
翻 译:zouzhin
参加看雪有很长一段时间了,一直无所贡献,真是有愧各位同坛好友。前不久发了个Qt求助帖 HYPERLINK /showthread.php?t=132491 /showthread.php?t=132491,没人回复,刚好看到了国外牛人 HYPERLINK /forum/member.php?19162-Daniel-Pistelli \o Daniel Pistelli is offline Daniel Pistelli 写的《Qt Internals Reversing》,就翻译一下给需要的人做个参考。由于E文水平不高,有不对的地方多包涵,高手请直接看原文 HYPERLINK /files/qtrev.htm /files/qtrev.htm。
开始之前,简单补充介绍一下Qt:
用官网的话说:Qt——一个开源跨平台应用程序和UI开发框架。优点有:
HYPERLINK /products-cn/platforms 针对多个平台只需编写一次代码
使用 Qt 您只需编写一次应用程序和 UI,无须重新编写源代码,便可跨不同的桌 HYPERLINK /products-cn/platforms 面和嵌入式操作系统进行部署,既节省了时间又降低开发成本。
HYPERLINK /products-cn/class-library/modular-class-library \l info_gui 创建令人意想不到的用户体验
QQt 提供了应用程序生成块,包括庞大的可定制 widget 集合、图形画布、风格引擎和其他内容,您可用来生成新颖的用户界面。由于集成了 HYPERLINK /products-cn/class-library/modular-class-library \l advanced-3d-graphics-opengl 3D 图形、 HYPERLINK /products-cn/class-library/modular-class-library \l info_multimedia 多媒体音频或视频、视觉效果、动画和自定义风格,使其在竞争中脱颖而出。
HYPERLINK /products-cn/class-library 事半功倍(且倍道而进)
无论是使用全新的 Qt Creator HYPERLINK /products-cn/developer-tools-1 跨平台 IDE 还是仅是 Qt 本身,Qt 都易学易用。而且由于有了 Qt HYPERLINK /products-cn/class-library 模块化的类库,您可以更多地关注创新,无须在平台本身编码上花费过多时间,这样就可将软件快速推向市场。
HYPERLINK /products-cn/class-library/modular-class-library \l info_webkit 在单一应用程序中混合网络和本地代码
由于 HYPERLINK /products-cn/class-library/modular-class-library \l info_webkit Qt 集成了 WebKit 网络渲染引擎, 您可以快速地( HYPERLINK /developer/qt-4.5-demo-videos 查看混合方式) 将网络内容和服务集成到本地应用程序中,还可以利用网络环境提供您的服务和功能,让您的用户在使用过程中留下深刻印象。
用本文原作者的话:“in my opinion, the Qt framework will be used more and more by software developers”.个人也觉得Qt是有其优势,有兴趣的可以利用一下。
—————————————————————以下正式开始———————————————————
内部机制
我见过的最严谨的C++框架就是Qt框架,Qt将C++带入了一个新的高度。Qt引入的信号(signal)和槽(slot)技术很有创意,其中一点就是,一个对象可以不要声明就可以调用其它对象的方法。为了运作信号和槽,Qt采用了动态化机制(dynamism)。这种动态化机制可以由Qt框架自动实现,也可以由开发人员通过QMetaObject类手动实现。有关信号和槽的内容可以参考 HYPERLINK /4.7/signalsandslots.html /4.7/signalsandslots.html。
我们看一个简单
文档评论(0)