2013-03-16 2 views
0

Я пытаюсь создать драйвер, используя WDK. Мне нужно использовать malloc в этом драйвере. Когда я пытаюсь использовать это, у меня возникла ошибка, например, нереальный внешний символ malloc. Я думаю, что мне нужно включить некоторые library.But я не уверен. Как я могу решить эту ошибку?нерешенный внешний символ _malloc

+0

Это технически не дубликат. ОП пытался решить проблему с компоновщиком, специфичную для WDK. Вопрос dupe'd заключается в более общих проблемах с привязкой. – selbie

ответ

8

Драйверы устройств Windows обычно не связаны с C-Runtime. Среда сборки для DDK/WDK не связана с MSVCRT. Но есть программы распределения памяти, которые могут использоваться в программировании ядра и драйверов.

Для получения более подробной информации см. this link.

Примечание стороны:

Я немного обеспокоен тем, что вы не упомянули, что «бесплатно» также нерешенной символ. Это говорит о том, что вы никогда не называете это, следовательно, утечка памяти в код драйвера устройства. ;) Или WDK вытягивает реализацию free() откуда-то?

+0

благодарю вас за его работу – raji

+0

@ darkendemon - Как насчет большой зеленой галочки, чтобы вернуть пользу? – selbie

+0

Я использовал MmAllocateNonCachedMemory для выделения памяти. Я забыл использовать Free. Я не знаю, какую функцию я должен использовать для освобождения памяти в программировании драйверов. Могу ли я направить меня? Я новичок в программировании драйверов. – raji

Смежные вопросы