Что такое __imp__malloc в связанной программе Mingw-32?

StackOverflow https://stackoverflow.com/questions/4289710

  •  28-09-2019
  •  | 
  •  

Вопрос

В я пытаюсь выяснить, если malloc() В моем кросс-скомпилированном программе Mingw32 является ThreadSafe или нет, я бежал 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
$ 

я считать что это значит, что malloc() в моей библиотеке C предоставляется как крышка для системы malloc(), как есть GetLastError(), но затем ends_with() не появляется в системе. Но я бы хотел второе мнение.

Спасибо!

Это было полезно?

Решение

Mingw не использует свой собственный malloc, это связывает окна malloc. Отказ Так что да, это ThreadSafe, потому что Windows есть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top