首页 > 解决方案 > 充当全局的数据类型不需要头文件。如何为 OS 和 Linux 版本找到#define。是否有默认包含的任何头文件

问题描述

如果我在 Linux 数据类型上制作 C 程序或 C++ 程序,则不需要包含头文件(至少对于intchar和是正确的void)。所以我相信它们在不同的操作系统中很常见,包括 Linux、windows、android。

我想知道我是否正在制作程序或内核模块,是否有任何 C 语言中的 Global-to-entire-OS #define 可以用来查找正在运行的操作系统和版本。以及我可以在 Linux 或 Internet 上的网页中找到这些详细信息的头文件。所以它们一定在我的 debian 系统中,有些我不知道

我喜欢制作设备驱动程序。所以一些头文件将针对特定的架构。但是如果操作系统不同,那么我不会尝试在顶部的 c 源文件中包含头文件。

因此,如果#define OS_Name我的系统头文件中存在诸如 global 之类的详细信息,而无需包含任何头文件,那么这将对我有很大帮助。我需要这些#define 名称的名称,以及在我的系统或 Internet 上的任何网页上都可以找到它们的位置。我正在使用 linux——但我认为这并不重要

举例我想拥有什么

     #Ifdef OS_IS_LINUX
      #include <asm-generic/ioports.h>
     #endif



     

标签: clinuxoperating-systemconstantsglobal

解决方案


   echo | gcc -E -dM -

不需要头文件


推荐阅读