什么是mingw-32链接程序中的__imp__malloc?

时间:2010-11-27 01:58:39

标签: mingw nm

我试图弄清楚我的交叉编译的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()也是如此,但{ {1}}未出现在系统中。但我想要第二个意见。

谢谢!

1 个答案:

答案 0 :(得分:0)

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