问题标签 [header-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
292 浏览

c++ - 当我向 .h 文件添加一些调试时,分离编译以避免重新编译

我有一个几乎在整个源代码中使用的 .h 文件(在我的情况下,它只是一个包含 .cc 和 .h 文件的目录)。基本上,我保留了两个版本的 .h 文件:一个带有一些用于代码分析的调试信息,另一个是常规版本。调试版本只有一个额外的宏和外部函数声明。我经常在两个版本之间切换。但是,这会导致 20 分钟的重新编译。

你会建议如何避免这个重新编译的问题?也许设置一些标志,创建不同的树?常见的解决方案是什么以及如何嵌入它们?

新的 .h 文件包含:

如您所见,这将导致重新编译。我在 Linux AS 3 上使用 gcc 构建

谢谢

0 投票
1 回答
2059 浏览

c++ - 没有源文件的头文件

我已经在头文件中编写了函数的主体,因此没有源文件。当我尝试在 Visual Studio 中运行我的项目时..我得到了一个

如何让 Visual Studio 理解函数的定义在标题本身内?

0 投票
8 回答
5341 浏览

c++ - #include 会影响程序大小吗?

当我的 cpp 文件用于#include添加一些标题时,我的最终程序的大小会变大吗?头文件不被视为编译单元,但是头文件的内容是由预处理器添加到实际源文件中的,那么输出文件(exe或dll)的大小会受此影响吗?

编辑:我忘了提到问题不在于模板/内联函数。我的意思是如果我放置一个#include没有任何函数实现细节的标头会发生什么。谢谢。

0 投票
3 回答
256 浏览

c - 头文件名作为参数

目标: 我有一个头文件列表(其中大约 50 个),每个头文件都有几个带有常量元素的数组。我需要编写一个程序来计算数组的元素。并创建一些其他形式的输出(将由硬件组使用)。

我的解决方案: 我包含了所有 50 个奇怪的文件并编写了一个应用程序。然后我将数组的所有元素转储为指定的格式。

我的环境: Visual Studio V6、Windows XP

我的问题: 每次有一组新的头文件时,我现在都在更改 VC++ 项目设置以指向新的一组头文件,然后重新构建。

我的问题:

不过有点脑残

  • 有没有办法从一些命令行参数或其他东西中提及标题?
  • 我只是想避免每次都重新编译源代码......
0 投票
1 回答
1992 浏览

visual-studio - Is including resource.h in precompiled header a good idea?

The VS-IDE will write //{{NO_DEPENDENCIES}} to resource header files. This comment is actually a feature that prevents (unnecessary) rebuilding of cpp files that include the resource header.

But, like stated in the MSDN, this can lead to "undesirable side-effects".

In our project we do have the resource.h included in the stdafx.h for pre-compilation. Unfortunately the precompiled header is not rebuild, if the resource file changes...

If the NO_DEPENDENCIES is removed, it works (but it's written again, if resources are changed via IDE).

Is there a way to prevent the IDE from writing //{{NO_DEPENDENCIES}} to the resource.h file every time the file was changed?

I think the best way would be to exclude the resource.h from the precompiled header file and re-include them in the needed .h and .cpp files. This way only the affected files would need to be (manually!) rebuild and not all files (which would happen, if the pch is recompiled).

Any comments?

0 投票
4 回答
3088 浏览

visual-studio - VS 2005 没有检测到 C++ 项目头文件的变化

很多时候,实际上大多数时候,Visual Studio2005 没有检测到某些 CPP 文件 C++ 项目中包含的某些标头已更改。因此,如果仅更改标题,它不会重新编译项目。

它不依赖于“预编译头”设置。它不会在 VS 2006 中发生,但在 VS 2005 和 VS 2008 的每个版本中都会发生。它发生在所有项目中,而不是某个特定项目。

如果头文件是项目的一部分,即如果它出现在 vcproj 文件中,则不会发生这种情况

解决此问题的唯一方法是执行干净的构建。

任何建议都非常感谢。

0 投票
9 回答
3575 浏览

c++ - 始终为 C++ 项目中的每个 .h 创建一个 .cpp 是一种好习惯吗?

有些类,如异常或模板,只需要头文件 (.h),通常没有与它们相关的 .cpp。

我已经看到一些项目(对于某些类)没有任何与头文件关联的 .cpp 文件,可能是因为实现太短以至于直接在 .h 中完成,或者可能出于其他原因,例如模板类,其中必须在标头中包含实现。

你怎么看,如果一个类太短,我应该避免创建一个 .cpp 文件并直接在头文件上编写代码吗?如果代码写在头文件中,我是否应该包含一个空的 .cpp 以便项目中的文件保持一致?

0 投票
2 回答
1329 浏览

header-files - 程序配置为使用 dmalloc 救助引用头文件错误

在尝试编译 lynx 时,我使用了“with-dmalloc”配置选项。但编译中止,产生此错误:

这就是 dmalloc.h 中的错误行:

该文件也可以在http://www.filewatcher.com/p/dmalloc-5.5.2.tbz.467309/include/dmalloc.h.html查看

dmalloc 的开发几乎已经停止,所以并不期待上游的修复。有什么帮助吗?

0 投票
4 回答
1796 浏览

iphone - 发生了一些变化,现在来自预编译头文件的 5800 个编译器错误

我显然在 iPhone Xcode 项目中改变了一些东西,现在当它预编译我得到的头文件时

然后还有 5800 个错误...

我希望其他人最近对自己做了这件事,并能指出我正确的方向!

0 投票
14 回答
34237 浏览

c++ - 为什么我不应该包含 cpp 文件而使用标头?

所以我完成了我的第一个 C++ 编程作业并获得了我的成绩。但是根据评分,我失分了including cpp files instead of compiling and linking them。我不太清楚这意味着什么。

回顾一下我的代码,我选择不为我的类创建头文件,而是在 cpp 文件中做了所有的事情(如果没有头文件,它似乎可以正常工作......)。我猜评分员的意思是我写了'#include“mycppfile.cpp”;' 在我的一些文件中。

我对 cpp 文件的推理#include是: - 应该进入头文件的所有内容都在我的 cpp 文件中,所以我假装它就像一个头文件 - 在 monkey-see-monkey do fashion 中,我看到了其他头文件#include在文件中,所以我对我的 cpp 文件做了同样的事情。

那么我到底做错了什么,为什么不好呢?