C++ 11 thread静态链接getlogicalprocessorinformation导致错误
来源:互联网 发布:霸王别姬 知乎 蒋雯丽 编辑:程序博客网 时间:2024/06/06 04:52
今天调试一个程序时发现出现"无法定位程序输入点getlogicalprocessorinformation于动态链接库kernel32.dll"错误,可是程序也没引用getlogicalprocessorinformation这个函数。
首先猜想会不会是微软的bug,所以拿depends工具看下,
B区为对应kernel32.exe所有导出函数,A区为本exe导入的kernel32.exe中的函数。一看,还真链接了kernel32.exe函数,说明不是微软bug。
再查网上,原来XP SP3前没有getlogicalprocessorinformation这个函数,现在程序报这个错误,可又没有明确的静态链接这个函数,所以我想肯定是什么库,静态链接了这个函数,所以直接用IDA逆向看下。还好自己的程序有pdb,找到Imports导入表中的getlogicalprocessorinformation,一路向上查找引用,最终看到
调用的类看起来包装了很多层,看到这里Concurrency(并发)、Scheduler(调度),自然想到应该是跨平台的线程类导致的,果然代码中有C++ 11的thread类,将其改造成windows线程类调用,一起OK。
C++ 11果然还是有坑~~
原创,转载请注明来自http://blog.csdn.net/wenzhou1219
阅读全文
0 0
- C++ 11 thread静态链接getlogicalprocessorinformation导致错误
- linux静态库链接静态库导致的链接错误解决办法
- 静态链接和动态链接库混用导致的链接错误LIN
- 静态链接和动态链接库混用导致的链接错误LINK2005
- 链接错误LNK2005 在MFC库之前链接C运行时库导致的链接错误
- C Runtime 链接库不匹配导致全局静态对象没有析构
- C语言静态链接
- 修改资源导致 error RC2135 链接错误
- 几个可能导致链接错误的原因
- strmiids.lib 导致的链接错误
- 一个dllimport 导致的链接错误LNK2019
- [C++] 如何静态链接imagemagick
- C++/MFC-静态链接库
- VC缺省链接库的顺序不对导致链接错误
- 【C/C++】静态链接库、动态链接库、extern "C"
- 关于静态链接导致ACE未初始化的问题
- MFC静态链接时的一个错误
- VS2012改为静态库后报链接错误
- Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面
- 数据结构第二遍思维导图
- redis操作以及5种数据类型string,hash,list,set,zset
- excel
- C语言笔记(运算符及表达式)
- C++ 11 thread静态链接getlogicalprocessorinformation导致错误
- Jackson 框架,轻易转换JSON
- Sigmoid 函数
- SpringBoot学习(六)——事务的管理
- SSH登陆模块
- Java面试题Day4
- 欢迎使用CSDN-markdown编辑器
- 删除/全部删除/模糊查询/升降序
- 微信抢票应用-个人总结