Visual Studio 2010 Ultimate, поиск пар malloc () и free () - PullRequest
0 голосов
/ 14 марта 2011

Я пытаюсь перенести программу Linux, написанную на C, на Windows.

В исходной программе они определили небольшую функцию, которая выделяет выровненную память.Если они хотят освободить его, они просто звонят free().Я использовал _aligned_malloc() для выделения, но когда я хочу освободить его, мне также нужно использовать _aligned_free().Но мне нужно найти все вызовы функции free(), которые соответствуют выровненным распределениям.Не все распределения выровнены, поэтому я не могу просто заменить все free() на _aligned_free().

Мой вопрос: есть ли в Visual Studio инструмент, который может найти malloc() /free() пары?

Есть совет?

Я также новичок в Visual Studio.

1 Ответ

0 голосов
/ 14 марта 2011

В C maloc() гарантированно возвращает память, выровненную для любых целей.

Я думаю, вы можете заменить все _aligned_malloc() вызовы на malloc().Просто сбросьте параметр выравнивания ...

#define _align_malloc(size, alignment) malloc(size) /* ignore alignment */
...