And*_*mbe 4 windows dll optimization
简短版本:我想知道在DLL中使用CPU特定指令是否可能,以及如何最好?
稍长版本:从Microsoft下载(32位)DLL时,似乎一个尺寸适合所有处理器.
这是否意味着它们是为最低公分母(即操作系统支持的最低平台)而严格构建的?或者是否有一些技术用于导出DLL中的单个接口,但在幕后使用CPU特定代码以获得最佳性能?如果是这样,它是如何完成的?
我不知道任何标准技术,但如果我必须做这样的事情,我会在DllMain()函数中编写一些代码来检测CPU类型并使用函数指针填充跳转表,每个函数指针都针对CPU优化版本功能.
当CPU类型未知时,还需要最小公分母函数.
您可以在注册表中找到当前的CPU信息:
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor
Run Code Online (Sandbox Code Playgroud)