【问题标题】:what is __imp__malloc in a mingw-32 linked program?mingw-32 链接程序中的 __imp__malloc 是什么?
【发布时间】:2010-11-27 01:58:39
【问题描述】:

为了弄清楚我的交叉编译的 mingw32 程序中的 malloc() 是否是线程安全的,我在二进制文件上运行了 nm。结果:

$ i386-mingw32-nm myfile.exe  | grep malloc
00ab04fc I __imp__malloc
005b8e70 T _malloc
$

为了比较,这里搜索GetLastError,在我的程序中使用但没有定义:

$ i386-mingw32-nm myfile.exe  | grep GetLastError
005b9034 T _GetLastError@0
00ab0370 I __imp__GetLastError@0
$

这里是我所知道的在我的程序中的搜索:

$ i386-mingw32-nm myfile.exe  | grep ends_with
0040a98d T _ends_with
$ 

认为这意味着我的 C 库中的 malloc() 是作为系统 malloc() 的掩护提供的,GetLastError() 也是如此,但 ends_with() 没有出现在系统中。但我想要第二个意见。

谢谢!

【问题讨论】:

    标签: mingw nm


    【解决方案1】:

    mingw 不使用自己的malloc,它链接Windows malloc。所以是的,它是线程安全的,因为 Windows 是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2017-02-07
      相关资源
      最近更新 更多