c - Winternl.h : No such file or directory

标签 c mingw reverse-engineering mingw-w64

我正在使用 vscode 和 mingw 在 C lang 中做一个小项目。

我想使用一些 NT 函数,所以我遵循了 microsoft docs 并使用了“ Winternl.h ”头文件。

这是我的包括:

#include <stdio.h>
#include <Windows.h>
#include <winternl.h>

但我得到:

Winternl.h:没有这样的文件或目录

这个头文件很基本,mingw 怎么不支持它?

谢谢。

最佳答案

winternl.h header 位于非标准导入位置。如果您使用的是 Visual Studio,则必须添加额外的包含目录。

  • 打开代码的属性页 ( ALT +ENTER )
  • 导航到 C/C++ Pane (在配置属性下)
  • 为您的系统添加正确的包含目录。对我来说,那是 C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\km

  • 应该注意的是,Windows 文档实际上并不推荐针对 winternl.h 进行链接。 - 它是 Windows 内部的,可以随时更改。如果您需要此处列出的函数,最好使用运行时动态链接,因为您使用的函数/结构的位置可以任意更改。

    关于c - Winternl.h : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809847/

    相关文章:

    控制多个 child ,处理 sigchild

    c - c中的qsort不对我的结构数组进行排序

    MinGW 的 mingw-get 下载包失败

    entity-framework-core - 脚手架(数据库优先)没有主键的 EF Core 表

    c - 为 getchar() 添加超时

    c - 从不兼容的指针类型(指向函数的指针)初始化

    c++ - mingw 非常非常简单的代码,报告对XXX的 undefined reference

    gcc - "go get"不只是获取文件然后 cgo +"go build"它们吗?显然不是

    binary - 如何分析封闭格式(例如 doc 或 vce)?

    assembly - 如何将 ASM 转换为可读代码?