早上在调一个程序的时候感觉非常奇怪,就是数据在初始化的时候会失败,后来发现是获取一个数据的时候出错了

假设我们又一个config.lib,sql.dll和main.exe

  1. 因为数据库在打开数据库的时候需要一个路径配置,这个配置在config.lib库里面
  2. main.exe初始化设置config.lib里面的数据
  3. main.exe调用sql.dll的函数,要求打开一个数据库
  4. sql.dll找config.lib获取一个路径,并打开一个路径

此时就会出错,因为我们在编译main.exe的时候把config.lib也链接进去了,所以在设置config的时候,main.exe会从自己的地址空间找到config.lib的数据段并设置,而sql.dll会从自己的数据段去获取数据,
所以会获取数据错误

相关文章:

  • 2022-12-23
  • 2022-01-21
  • 2021-10-28
  • 2022-12-23
  • 2021-07-30
  • 2021-12-04
  • 2021-06-24
猜你喜欢
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
  • 2021-07-11
  • 2021-06-04
相关资源
相似解决方案