DLL---工作笔记

源由
分析工程代码的时候,由于各功能组件大量的使用了dll,注册,管理调度器等思想方法,导致分析代码结构十分的蛋疼。
解决过程
- 简单了解了下dll的原理,dllmain load那几个作用
-  理清了大佬们对export和inport的蛋疼解释
结果
管理器
注册机制
状态机
预编译宏 
现在又有了DLL这种玩意,确实构造灵活了,但是在无文档和系统培训的情况下,成倍的增加了学习的初始动能。(了解了范式之后,又显得使用很轻松)
套路
阻止代码跟踪和逻辑的原因,一般都是F12查找定义或者查找引用的时候找不到当前目标的实现或者归属。
此处很不负责任的分为 隐式加载和映射

1,dll中使用全局变量,当调用那个load dll函数的时候,全局变量的构造函数可以实现注册,状态等操作。(ps据说dll全局变量是程序编译时就被加载的)此处只是这么来理解了,无伤大雅。
2,函数指针数组映射,使用数组索引与函数进行映射。一次初始化后,使用索引来使用函数。
3,注册,某管理器中,万能指针,或者范式函数指针作为承载物,在运行中将具体函数或数据赋值给该指针。
其实这些东西和c++的构造函数析构函数,虚函数等很像,具体原理也差不都。
总之,手段特征是间接,隐藏。
此致,万恶的c++
c是艺术,c++是技术。不纯粹。
发布了67 篇原创文章 · 获赞 5 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章