问题标签 [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.
c# - 实现 C# 接口的 C++ 标头
可以从 C# 接口生成 C++ 头文件吗?
例子:
C#接口:
C++ 头文件:
返回“错误 C3766”。
c++ - 具体类的单独头文件 - C++
背景
我有一个抽象类,比如
会有很多具体的类只实现DoConvertion方法。
会有很多这样的具体实现。我创建了一个头文件,比如CharacterConverter.h,它具有抽象类IConverter。
问题
由于我的具体类只实现了DoConvertion方法,是否需要为每个具体类创建单独的头文件?我的意思是是否需要为所有具体类创建ImageConverter.h、TextConverter.h等?所有这些头文件都将包含与IConverter抽象类相同的代码。
有什么想法吗?
c - 多个目录中的头文件:最佳实践
我是C新手
我用动态语言(javascript、python、haskell 等)编写了很多代码,但我现在正在为研究生院学习 C,但我不知道自己在做什么。
问题
最初,我使用 makefile 在一个目录中构建我的所有源代码,效果非常好。但是,我的项目正在增长,我想将源代码拆分为多个目录(单元测试、实用程序、核心等)。例如,我的目录树可能如下所示:
test/test_foo.c
同时使用src/foo.c
和src/foo.h
。使用makefile,构建它的最佳/标准方法是什么?最好有一条规则用于构建项目,一条规则用于构建测试。
笔记
我知道还有其他方法可以做到这一点,包括 autoconf 和其他自动解决方案。但是,我想了解正在发生的事情并能够从头开始编写 makefile,尽管它可能不切实际。
任何指导或提示将不胜感激。谢谢!
[编辑]
所以目前给出的三种解决方案如下:
- 将全局使用的头文件放在并行
include
目录中 - 使用状态中的路径,
#include
如#include "../src/foo.h"
- 使用
-I
开关通知编译器包含位置
到目前为止,我喜欢-I
switch 解决方案,因为它不涉及在目录结构更改时更改源代码。
c++ - 每个 C 或 C++ 文件都应该有一个关联的头文件吗?
每个 .C 或 .cpp 文件都应该有一个头 (.h) 文件吗?
假设有以下 C 文件:
主.C
功能1.C
函数2.C
函数3.C
在main()
Main.C 文件中的位置。应该有四个头文件
主文件
函数1.h
函数2.h
函数3.h
或者所有 .C 文件应该只有一个头文件?
什么是更好的方法?
c++ - 在 typedef 中使用类型时包含在头文件中的规则
如果我创建
在头文件中,我需要包含“MyClass.h”还是转发声明就足够了?
头文件:
这里的链接规则是什么?
c++ - 使用 .h 作为 c++ 文件的标头是否错误?
使用 .h 作为 c++ 文件的标头是否错误?
我到处都能看到它,尤其是用“C 风格”编写的代码。我注意到 Emacs 总是为 .h 标头选择 C 突出显示样式,而为 hpp 或 hh 选择 c++。
标记你的标题.h实际上是“错误的”还是只是让我烦恼的事情?
编辑:
这让我很恼火有一个很好的(ish)原因,如果我有标记为“hpp & cpp”的项目文件,我可以使用“grep something *pp”等。否则我必须输入“.h cpp”
c++ - 包括g ++标头:仍然找不到定义
晚上好 :)
我在玩 g++ 和 makefile。我已经到了这一点:
富.h:
Foo.h 最终包含在我的主 cpp 文件中,因此我可以通过调用 start/stop 来启动。
然后是bar.h:
但是 g++ 似乎不喜欢它:
我正在使用makefile,并尝试了以下组合:
尽管我认为我不应该在这里添加 bar.h,但不应该将它包含在 foo.h 中就足够了吗?
为了澄清,这大致是它现在的设置方式(是的,我知道这可以以更有效的方式完成):
这是怎么回事?我认为这是我对 g++ 及其处理标头的方式所缺少的东西,请指出正确的方向!
编辑 - 找到解决方案:
嗬!我现在觉得很傻。正在搞乱 boost::asio 并且有点忘了我仍然把它留在我的标题顶部的某个地方:使用 boost::asio::ip::tcp;
假设有一个 boost::asio::ip::tcp::bar 函数:D
哦,好吧,还是谢谢!
c - 包含头文件是如何发生的?
我在工作区中有一个带有 *.c 和 *.h 文件的纯 C 代码。
我有一个头文件 1.h 声明一些结构为
但是当我尝试在另一个头文件 2.h 中声明类型为 struct my1 的变量时,如下所示: -
它在此声明点给出错误。
看起来 my1 在 2.h 文件中未定义。
在文件 1.h 中我需要包含 2.h,所以在文件 2.h 中我不能包含 1.h,因为担心递归包含。
我的问题是:-
在这种情况下,我需要声明什么来解决编译错误?
这整件事让我想到了有关头文件包含的更多问题。
头文件是如何包含的,按什么顺序,先是哪个头文件,然后是哪个头文件?
头文件的递归包含会导致错误一个文件包括其他和其他包括第一个?
出于某种安全原因,无法发布实际的代码片段,如果问题在某种程度上造成了一些可读性问题,我们深表歉意。
c++ - C++ 应该消除头文件吗?
许多语言,例如 Java、C#,并没有将声明与实现分开。C# 有一个分部类的概念,但实现和声明仍然保留在同一个文件中。
为什么 C++ 没有相同的模型?有头文件更实用吗?
我指的是当前和即将发布的 C++ 标准版本。
objective-c - 在 Objective-C 中包含头文件的成本
这似乎是一个非常愚蠢的问题,但是#import
在 Objective-C 中包含(实际上是调用)头文件的成本是多少?我厌倦了在不同位置不断包含相同的标题,因此我决定简单地创建一个GlobalReferences.h
包含几个常用标题的文件。
如果甚至不使用对其他文件的引用,是否有任何可观的成本?我的直觉告诉我“不”,因为链接器似乎只是在使用时知道其他文件#import
,但我不确定是否需要对 iPhone 开发采取特殊考虑,这是我的项目所关注的。有什么想法吗?