DLL---工作笔记

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

1,dll中使用全局变量,当调用那个load dll函数的时候,全局变量的构造函数可以实现注册,状态等操作。(ps据说dll全局变量是程序编译时就被加载的)此处只是这么来理解了,无伤大雅。
2,函数指针数组映射,使用数组索引与函数进行映射。一次初始化后,使用索引来使用函数。
3,注册,某管理器中,万能指针,或者范式函数指针作为承载物,在运行中将具体函数或数据赋值给该指针。
其实这些东西和c++的构造函数析构函数,虚函数等很像,具体原理也差不都。
总之,手段特征是间接,隐藏。
此致,万恶的c++
c是艺术,c++是技术。不纯粹。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值