2013-03-16 241 views
0

我想创建一个使用WDK的驱动程序。我需要在该驱动程序中使用malloc。当我尝试使用它时,出现了像malloc无法解析的外部符号的错误。我想我必须包含一些图书馆。但我不确定。我该如何解决这个错误?无法解析的外部符号_malloc

+0

这在技术上不是重复的。 OP正试图解决特定于WDK的链接器问题。重复的问题是更为通用的链接问题。 – selbie 2013-03-16 22:24:00

回答

8

Windows设备驱动程序通常不会与C运行时链接。 DDK/WDK的构建环境不与MSVCRT链接。但是有内存分配例程可用于内核和驱动程序编程。

请参阅this link了解更多详情。

旁注:

我有点担心你没有提到“自由”也是一个悬而未决的象征。这表明你永远不会调用它,因此设备驱动程序代码中的内存泄漏。 ;)或者WDK从某处引入free()的实现?

+0

谢谢你的工作 – raji 2013-03-16 06:17:57

+0

@darkendemon - 大绿色复选框如何返回优惠? – selbie 2013-03-16 06:18:42

+0

我已经使用MmAllocateNonCachedMemory来分配内存。我忘了使用Free。我不知道在驱动程序编程中我必须使用哪个函数来释放内存。可以指导我吗?。我是驱动程序编程新手。 – raji 2013-03-16 06:23:01