Articles of 头文件

检查文件是否是C中的特定types

我正在编写我的第一个C程序,尽pipe我来自C ++背景。 我需要遍历一个文件目录,并检查该文件是否是一个头文件,然后返回计数。 我的代码如下,这是相当简单的,我想: static int CountHeaders( const char* dirname ) { int header_count = 0; DIR* dir_ptr; struct dirent* entry; dir_ptr = opendir( dirname ); while( ( entry = readdir( dir_ptr ) ) ) { if ( entry->d_type == DT_REG ) { //second if statement to verify the file is a header file should […]

为什么/usr/include/linux/stddef.h是空的?

这个头文件应该定义NULL或size_t和其他的macros,但是我发现/usr/include/linux/stddef.h是空的? 为什么?

Linux上的JDK 1.8缺lessJNI包含文件

我正在编译下面的项目: https://github.com/entropia/libsocket-can-java 我总是得到这个错误信息? 有谁知道如何解决这个问题,是否可能是Linux上的JDK 1.8.0.11(x64 Debian Wheezy)中的错误? In file included from jni/de_entropia_can_CanSocket.h:2:0, from jni/cansocket.cpp:23: /opt/jdk1.8.0_11/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory #include "jni_md.h" ^

取消在C + +的typedef?

我正在一个巨大的项目,其中有一个文件啊,其代码有一行 typedef unsigned __int16 Elf64_Half; 另外,因为我在Linux上构build和使用dlinfo函数,所以我必须在我的项目中包含link.h文件。 这是它创build冲突的地方,因为我有两个具有相同名称Elf64_Halftypes定义。 (Linux link.h包含elftypes.h,它也有: typedef unsigned short Elf64_Half; )。 我在这种情况下做什么? 是我唯一的select,改变我的typedef啊? 请记住,这不是太容易,因为项目是巨大的,我将不得不在几个地方做出改变。 有没有办法undef typedef或什么的?

在同一个项目中包含<termios.h>和<asm / termios.h>

我想要实现的:我想为某些类似tty*的UART映射的terminal设置自定义的baud rate值。 方法:我发现的唯一方法是使用位于<asm/termios>头部的struct termios2结构(如这里所述 ,第一个答案)。 我的解决scheme工作得很好,但现在我需要使用一些function: speed_t cfgetispeed(const struct termios *); int tcdrain(int); int tcflow(int, int); int tcflush(int, int); int tcgetattr(int, struct termios *); pid_t tcgetsid(int); int tcsendbreak(int, int); int tcsetattr(int, int, struct termios *); 问题是在<asm/termios.h>中没有这样的函数,我需要包含<termios.h>才能使用它们。 问题:如果我同时包含头文件( <asm/termios.h>和<termios.h> ),编译器会对函数和结构重新声明进行尖叫,他是对的。 我怎样才能解决这个问题,而不使用一些模糊的做法(比如像在这里提到的, 在命名空间中包装头部之一)?

dos.h for Linux?

我有一个包含#include <dos.h>头文件的C程序。 它显示编译时错误。 我知道dos.h头文件在Linux中是无效的。 Linux中是否有任何其他等效的dos.h头文件?

如何使g ++search特定目录中的头文件?

我有一个项目(一个库),细分成几个目录,其中的代码。 我想要在项目的根目录中search头文件,所以我可以避免在多个源文件中包含相同头文件的不同包含path。 主要是root/目录下有子目录A/ , B/和C/ ,里面都有.hpp和.cpp文件。 如果A中的某个源文件想要包含B中的file.hpp ,则必须这样做: #include "../B/file.hpp" 。 但是,如果A本身具有需要file.hpp文件的file.hpp ,那么这将是不一致的,并且如果我决定移动文件会导致错误(因为包含path将是"../../B/file.hpp" )。 此外,这也需要从其他项目工作,这些项​​目位于root/之外。 我已经知道有一个选项可以手动将所有的头文件复制到一个默认search目录中,但是我想按照我所描述的方式来完成。 编辑:使用该库的所有程序只能用g++ prog.cpp lib.a -o prog编译。 这意味着永久设置g ++的包含path!

C / C ++头文件依赖关系的开源工具?

我正在寻找的是一个工具,给定一个根源文件,输出一个文件依赖关系图(与一些自定义引发,当然,像 – maxdepth等)

我如何在Linux中findC编程语言的头文件?

当我在Linux中编写C程序,然后使用gcc进行编译时,我总是对这些头文件的位置感到好奇。 例如,在哪里stdio.h是。 更一般地说, stdbool.h在哪里? 我想知道的不仅仅是它在哪里,而且也是如何获得这些地方,例如,使用shell命令或使用C编程语言。

如何编译具有“wlanapi.h”和“windows.h”依赖项的C ++代码

我正在修改扫描附近无线信号的开源代码。 程序代码如下所示: #pragma comment(lib, "wlanapi.lib") #include <stdio.h> #include <windows.h> #include <wlanapi.h> VOID WlanNotification(WLAN_NOTIFICATION_DATA *wlanNotifData,VOID *p) { if(wlanNotifData->NotificationCode == wlan_notification_acm_scan_complete) { bWait = false; } else if(wlanNotifData->NotificationCode == wlan_notification_acm_scan_fail) { printf("Scanning failed with error: %x\n", wlanNotifData->pData); bWait = false; …… 我想知道如何编译具有wlanapi.h和windows.h依赖项的源代码? 请注意,我希望此代码在Windows(不是Linux)上运行。 我正在编写一个简单的Windows用户的工具,将诊断他们的WiFi安全。 第一步是感测最近的WiFi接入点及其各自的encryptiontypes。 我只是想知道如何以最简单的方式编译Windows平台的代码,该平台具有“windows.h”或“wlanapi.h”的依赖关系。