c - 充当全局的数据类型不需要头文件。如何为 OS 和 Linux 版本找到#define。是否有默认包含的任何头文件
问题描述
如果我在 Linux 数据类型上制作 C 程序或 C++ 程序,则不需要包含头文件(至少对于int
、char
和是正确的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
解决方案
echo | gcc -E -dM -
不需要头文件
推荐阅读
- outlook - AdaptiveCard 无法在 Office 365 Proplus Outlook 中呈现
- mysql - 根据另外两列的范围在两列中扩展日期
- firebase - Firestore 云功能在不部署功能的情况下不会触发
- ansible - ansible fetch模块的问题
- azure - 如何在发布构建期间用 configSource 替换连接字符串文件?
- c++ - 四阶 Adams-Moulton 方法 C++
- c# - WinForm C#中的CefSharp如何减小应用程序大小
- react-native - GooglePlacesAutocomplete 对地点列表内容的样式不起作用,无法包装地点 react-native
- wpf - WPF Datagrid 将 BorderBrush 添加到行导致行在 IsMouseOver 上移动
- c# - 在 Visual Studio 2019 中禁用工具提示