header-files相关内容

它是把所有的包含一个头文件是一个好主意?

什么是C中的最佳实践是什么,你把C头文件? 是不是把所有的包括用于多个源文件的程序在一个头文件有用吗? 怎么样包括在几乎每一个文件中使用(即stdio.h中)? 解决方案 没有。它只是增加了克鲁夫特和开销。 一个作为维护者搞清楚什么头的不,你将面临的最大的烦恼的需要包含并摆脱他们。 WHE你得到20+标题的列表,你开始考虑丑陋的东西的了野蛮通过它强迫(在删除一个一时间,如果有任何中断 ..
发布时间:2016-08-21 22:36:13 C/C++

怎样可以快速搜索项目中的所有包含的头文件为特定功能或宏?

这里有一个问题,我最近有这样只是必须有一个共同的痛苦别人在这里。 我与别人的传统的C code工作,需要找到被定义一个函数或宏。在code 的#include 是个一串除了那些从具体项目不同的标准体系库。 是否有工具或技术来快速寻找到一个特定的功能,宏(或其他全球性的这个问题)的定义? 我试过: 的grep -R“功能”/ usr / lib目录 和其他类似的* nix / bash的 ..
发布时间:2016-08-21 22:33:00 C/C++开发

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

这个头文件应确定 NULL 或为size_t 等宏,但我发现 /usr/include/linux/stddef.h 是空的?为什么呢? 解决方案 头的实际位置是实现定义。是什么你看不典型<&STDDEF.H GT; 包括GCC。你可以找出到底位于何处您的系统上: GCC -E - <<<'#包括LT&;&STDDEF.H GT;' | grep的STDDEF ..
发布时间:2016-08-21 22:16:43 服务器开发

在头文件中定义的小功能:inline或静态的?

我有许多它们在 .H 文件中定义的小功能。这是一个小项目(现在的),我想避免的声明和定义分开,因为他们总是在变化的痛苦。为了避免多重定义的符号,我可以让他们静态或在线。应该是什么preferred为什么? 我知道这是一般不好的做法在头定义功能。你不必提,在回答这个问题是技术上的意思。 解决方案 我会使用静态内联,但静态将工作一样好。 的extern 和 extern内联是,因为你会得到 ..
发布时间:2016-08-21 22:10:18 C/C++

当它是有用的相同的标题多次包含在一个文件?

我读到一个文件相同的标题的多个包裹,并发现了一个有趣的说法(链接): 有一对夫妻带着头文件的技巧是你故意 包括它多次(这样做实际上是提供一个有用的 功能)。 据我所知,这些技巧可能是在现实世界项目(尤其是因为人拿precautions对多种夹杂物,像的包括警卫和 的#pragma一次 ) 。 但尽管如此,那些是什么招数?我想出了一些想法,但希望看到一些实际的例子(理想情况下,安全 ..
发布时间:2016-08-21 21:10:42 C/C++开发

应每C或C ++文件中有关联的头文件?

应每.C或.cpp文件应该有一个头(.h)文件呢? 假设有下面的C文件: MAIN.C Func1.C Func2.C Func3.C 其中,的main()是main.c文件。如果有四个标题文件 Main.h Func1.h Func2.h Func3.h 还是应该只有一个头文件的所有.C文件? 什么是更好的方法? 解决方案 ..
发布时间:2016-08-21 21:08:53 C/C++开发

分享2 .c文件之间的函数

DIR1 DIR2有,在file1.c和file1.h。 DIR2有file2.c中 现在,如果我想访问在file2.c中file1.c中定义的函数,我需要声明它file1.h,包括在file2.c中file1.h - 是一个有效的假设 如果没有,请解释。 如果是,即使在这样做,我收到“未定义参考运作”的错误。 file2.c中:29:未定义引用'功能' collect2:劳工处返 ..
发布时间:2016-08-19 15:24:43 C/C++

从头文件链接到的头文件未找到。

我有Nvidia的的OpenCL / Cuda的框架问题,但我认为这是一个 GCC 连接问题。 的 opencl_hello_world.c 例如文件使用下面的头文件: 的#include“../OpenCL/common/inc/CL/opencl.h” 与 opencl.h 使用这些头文件:的#include< ../的OpenCL /普通/ INC / CL / cl.h&GT ..
发布时间:2016-08-19 14:36:21 C/C++

头文件和extern关键字

我使用的外部变量和头文件有很多的问题。我经历的书籍阅读节并寻找小时网页,但我一直无法弄清楚。在了解这个问题的任何帮助将大大AP preciated。以下是code和错误,当我尝试编译 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; #包括LT&;&string.h中GT; #包括“sample.h” 诠释的main() ..
发布时间:2016-08-19 14:13:19 C/C++

头文件仅包含在整个程序一次?

我知道这是一个常见的​​问题,但我仍然不能完全得到我的头周围。 在 C 或C ++从多个不同的源文件和头文件生成的程序,将每个头文件只能在当使用头警卫整个code包含一次? 有人告诉我,previously一个头文件(包括警卫)将获得包括只在一个翻译单元,但在整个code多次一次。这是真的吗? 如果它得到仅包括在整个code,当一个文件希望包括它和preprocessor检测到它已经被列入, ..
发布时间:2016-08-19 13:31:30 C/C++开发

如何包容头文件的发生呢?

我有一个普通的C code。与* .c和*工作区中的.h文件。 我有一个头文件1.H声明一些结构 结构MY1 { int类型的; .. .. } my_t; 但是,当我尝试声明类型结构MY1的变量在另一头文件2.H如下: - 结构MY1变量1; 据在此声明一点给人错误。 看起来MY1这里未定义在2.H文件。 在文件1.H我需要包括2.H,所以在文件2.H我不能包括1.H,怕递归 ..
发布时间:2016-08-19 00:49:57 C/C++

preprocessor的#ifndef

假设我有 A.H ,其中包括以下内容: < stdbool.h> <&STDDEF.H GT; < stdin.h> 假设我也有 b.h 其中还包括< stdbool.h> 。如果啊的的#ifndef preprocessor定义语句在它和 BH 没有。将 A.H 只包括什么也没有被列入 b.h ?因此,当 BH 包括啊,将啊包括 STDDEF.H ..
发布时间:2016-08-19 00:45:03 C/C++

标头scanf_s功能

在回答这个问题,我编上的 Ideone 并得到这个错误 的功能“scanf_s”[-Wimplicit函数声明]隐式声明 不是 stdio.h中是 scanf_s ?标题 解决方案 的 scanf_s 是微软特有的。标题是 stdio.h中,但不是在GCC。 用于从标准输入流中读取格式的数据。这些版本的scanf函数, scanf_s,_scanf_l,wscanf,_wscanf ..
发布时间:2016-08-18 23:44:12 C/C++

使用关键字类在C变量名++

我有一个使用专为C文件的头文件的麻烦写C ++ code。特别是,头文件使用的变量名叫做类: INT BPY_class_validate(为const char * class_type,*的PyObject类的PyObject * BASE_CLASS,BPY_class_attr_check * class_attrs,**的PyObject py_class_attrs); 这工作 ..
发布时间:2016-08-18 23:21:39 C/C++开发

为什么我看到扔在一个C库?

当我这样做: 少/usr/include/stdio.h (这是只有一个C库 - 无关C ++) 我看 __ THROW 之后,相当多的函数声明。 另外,以上几个功能评论说,“这是一个功能可能取消点,因此没有打上 __ THROW ” 这是怎么一回事呢? 罚球,就是要对异常处理......但据我所知,C不会为其提供任何支持。 请解释一下。 解决方案 这头可能是C和C ++编译器 ..
发布时间:2016-08-18 22:24:31 C/C++开发

如何更清晰地包括C头文件++

在C ++中,我有一些头文件,如:使用 Base.h ,和一些类 Base.h : // OtherBase1.h #包括“Base.h” 类OtherBase1 { //东西放在这里 };//OtherBase2.h #包括“Base.h” 类OtherBase2 { //东西放在这里 }; 而在的main.cpp ,我只能用由于重复标题的这两个 OtherBase 类之 ..
发布时间:2016-08-18 15:20:34 C/C++开发

未解决的包容:其中,CONIO.H取代。为什么?

在运行一个简单的C程序我收到 未解决的包容:其中,CONIO.H> 我在想什么?我使用 Fedora 13的蚀。请帮我解决这个问题。如果我丢失的任何文件或没有安装任何东西让我知道。另外,我新的Fedora的。指导我用正确步骤吧。 先谢谢了。 解决方案 CONIO.H是旧的MS-DOS的编译器用于创建文本用户界面的C头文件。这是不是在C语言程序设计书中描述,并且它不是C标准 ..
发布时间:2016-08-18 15:08:49 C/C++

如何修复"无法在Turbo C&QUOT打开stdio.h中;错误?

每当我编译我的程序,我得到上述错误。 解决方案 如果你有这样的问题,首先放入到C所有的 TC 文件夹:。 。驾驶。 安装完成打开Turbo C的蓝屏后。 有一个选项>目录 ..in,你可以看到选项来设置路径。 包括directories..you可以设置路径有现在.. C:\\ TC \\ INCUDE 库Directories..you可以设置路径有... C:\\ T ..
发布时间:2016-08-18 14:53:47 C/C++

调用内联函数时未定义的引用

我得到一个非常奇怪的错误,从GCC 4.8.1内联函数。 我在头文件中定义的两个近乎相同的内联函数( debug.h 和 error.h )在的src /有/ ,唯一的区别是他们打印的内容 - 一个prefixes DEBUG:来的消息,另%S:错误:%s (程序名称,错误消息)。当定义函数内联,编译和调试版本(因此它设置的宏 DEBUG = 1 ),我得到很多未定义引用错误的: 的src / ..
发布时间:2016-08-18 14:47:15 C/C++

sql.h头文件丢失,虽然的unixODBC安装

我是一个高达最新的Ubuntu 12.04系统上。我有,MySQL和其相关的驱动程序安装了unixODBC(从Ubuntu回购v2.2.14)。还连接到一个有效的DSN。通过发出 ISQL数据库名的uname passwd文件验证。 我试图编译使用ODBC数据库交互的C应用程序。几乎无处不在我搜索似乎表明,我应该有“sql.h”的地方安装。 A 查找/ -iname sql.h -print 显 ..
发布时间:2016-08-18 14:36:56 C/C++