为什么有条件地包含direct.h或sys / stat.h基于_WIN32或__linux__?
发布时间:2020-09-18 20:54:58 所属栏目:Windows 来源:互联网
导读:以下代码将做什么?为什么用它? #ifdef _WIN32 #include direct.h #elif defined __linux__ #include sys/stat.h #endif C中没有可移植的方式来操作文件系统目录.您需要一些提供包装器接口来操作目录的库. (使用系统调用,OS中断例程等) direct.h是Windows的C
以下代码将做什么?为什么用它? #ifdef _WIN32 #include <direct.h> #elif defined __linux__ #include <sys/stat.h> #endifC中没有可移植的方式来操作文件系统目录.您需要一些提供包装器接口来操作目录的库. (使用系统调用,OS中断例程等) direct.h是Windows的C编程语言的头文件.它包含函数声明和用于操作文件系统目录的必需宏,struct等.在类似Linux的系统中,您可以使用sys / stat.h. 现在,如果您的代码可能是为任何一个操作系统编译的,那么您可以保留公共(可移植)代码而不需要任何保护,并在conditional compilation块中保留特定于Windows或Linux的代码. 如果您没有有条件地包含这些文件,您可能会在Linux中找不到direct.h或类似的错误以及Windows的任何类似错误. __linux__是由针对Linux代码的编译器预定义的. This msdn文件说:
(编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-phone – appx应用程序和appxbundle应用程序有什么
- windows-7 – 如何将UAC盾牌图标添加到仍然必须以XP为目标的
- ms-office – Microsoft Office 2010功能区自定义UI中的Pha
- .net – 创建大量定制的Windows安装程序?
- 记忆管理 – WinRT是否有垃圾收集?
- 【问题】no libsigar-amd64-winnt.dll in java.library.pat
- 在Windows下的Java应用程序中编写C控制台应用程序
- windows-phone-7 – 如何做这样的事情? (应用程序内的瓷砖
- BAT脚本编写教程(比较易懂和全面)
- windows远程桌面连接centos7桌面显示,安装xdrp