我试图弄清楚我的交叉编译的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}}未出现在系统中。但我想要第二个意见。
谢谢!
答案 0 :(得分:0)
mingw不使用自己的malloc
,它链接Windows malloc
。所以是的,它是线程安全的,因为Windows是。