0

为了弄清楚malloc()我的交叉编译的 mingw32 程序是否是线程安全的,我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()

谢谢!

4

1 回答 1

0

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

于 2010-12-22T11:12:35.897 回答