header-files相关内容

C头文件中应该放置哪些声明?

我的项目中几乎每个.c文件都有一个头文件。所有的typedef和函数声明都放在头文件中。但这是一种好的做法吗?某些typedef仅在一个.c文件中使用。此外,某些函数未被其他源文件中的函数调用。 推荐答案 #include是一个预处理步骤,因此您可以在其中插入任何内容。这在很大程度上是一个风格问题,但将对命名空间的影响降到最低是很好的编程实践。(通常)使用头文件允许PUBLIC和PRI ..
发布时间:2022-08-14 21:30:30 其他开发

不能在C++中包含标头

我正在用C++编写一些程序。我需要包含一些标题(#include )。但当我使用#include和方括号执行此操作时,我得到的错误是此头文件不存在。我需要指定从程序文件到main文件的完整路径。但如果我将这个项目移到其他地方,我需要重新指定所有内容,所以这相当烦人。 我是否必须在标头的main文件中写入一些内容,以便可以将其包括在括号中?我需要在哪个文件夹中下 ..
发布时间:2022-08-14 21:26:21 C/C++开发

C++Xcode需要&;#39;(&;#39;用于函数样式强制转换或类型构造

我正在尝试编译此cpp和h文件,但它一直给我这个错误“预期的‘(’对于函数样式的强制转换或类型构造”,它指向构造函数 GasTank::GasTank(double a){ capacity=a; } 有没有想过为什么?我不明白为什么它会给我那个错误。以下是代码的其余部分: // // Header.h // labs // // Created by Pxndroi ..
发布时间:2022-07-18 10:43:40 C/C++开发

C语言中的通用头文件

Like#include ,它替换了C++中的所有头文件 它们在C中是相似的头文件,可以替换所有头文件吗? [C中是否存在头文件?] 它应该替换所有头文件,如 #include #include #include ...以此类推。 如果答案是否,您能说出原因吗?(简明地 ..
发布时间:2022-04-20 12:12:26 C/C++开发

CPP在主源文件中包含.cpp文件会导致&Quot;重复符号&错误

我一直纠结于如何将一个项目分成几个源文件和头文件。我目前的做法似乎是笨拙和错误的。欢迎提出任何意见! 我有四个文件: main.cpp是主程序。它将创建几个树节点,并调用一个函数来遍历它们。 TreeNode.h是我声明简单类的头文件TreeNode TreeNode.cpp是定义类的构造函数TreeNode 的地方 utils.cpp是我在TreeNode上定义的几个函数,比如 ..
发布时间:2022-04-20 12:06:54 C/C++开发

为什么要使用单独的源文件?

我正在学习C语言,来自脚本语言背景,非常耐人寻味,也相当令人困惑。 我如何得到这个问题的一个简短故事: 起初我很困惑为什么不能将源文件(.c)包含在另一个源文件中,然后我发现函数声明重复。然后我发现了头文件(.h),并感到困惑,为什么我必须在一个文件中声明一个函数,然后在另一个文件中定义,如果有什么变化,我必须编辑两个文件,所以我开始在头文件中定义函数。然后我发现#ifndef不能跨单独的 ..
发布时间:2022-04-20 12:01:47 其他开发

在GCC 10.2.1而不是GCC 8.3.0上首次定义的&的多重定义

我查看了Stackoverflow和更广泛的Internet,发现此错误的最常见原因是声明(int var = 1;)和定义(int var;)合并,并包括.h文件中的.c文件。 我刚刚从一个文件拆分成几个文件的小项目没有做任何这些事情。我非常困惑。 我复制了项目并删除了副本中的所有代码(这很有趣),直到我到达此处: main.c #include "a.h" int m ..
发布时间:2022-04-20 11:58:22 服务器开发

N维系统的模龙格-库塔四阶方法的实现

我正在尝试使我的龙格库塔4阶码模块化。我不想每次使用代码时都要编写和声明它,但是在.hpp和.cpp文件中声明它,以便分别使用它。但我遇到了一些问题。一般来说,我想要解一个n维方程组。为此,我使用了两个函数:一个用于方程组,另一个用于龙格-库塔法,如下所示: double F(double t, double x[], int eq) { // System equations ..
发布时间:2022-04-20 11:48:45 C/C++开发

ASM与ASM-Linux标头中的通用-它们是相同的吗

在包含目录/usr/src/linux-headers-5.7.0-kali1-common/include.中包含的KALI内核5.7.0标头上的Linux头文件文件夹中在这个文件夹中,我的头文件包含在子文件夹中,如asm-Generic、Linux、uapi、acpi、crypto等。但是在头文件中,即在linux/module e.h内部,有一个头文件引用,如下所示 #incl ..
发布时间:2022-03-24 23:07:12 服务器开发

C头文件中的全局变量初始化

我想知道为什么在包含在C的多个源代码中的头文件中声明全局变量是可行的 #ifndef INC_MAIN_H_ #define INC_MAIN_H_ int my_var; #endif 但是为其分配默认值不起作用: #ifndef INC_MAIN_H_ #define INC_MAIN_H_ int my_var = 0; #endif 它在我包含此主机的每个文 ..
发布时间:2022-02-26 23:41:51 其他开发

<conio.h> 在哪里?Linux 上的头文件?为什么找不到<conio.h>?

可能重复: 如何在Linux中实现C的getch()函数? MS-DOS 中 conio.h 头文件的等效 Linux 版本是什么? 有没有办法替换它的功能?例如getch() 我正在使用 gcc 和文本编辑器 Geany 来编译 C 代码. 解决方案 conio.h 是一个 C 头文件,与旧的 MS-DOS 编译器一起用于创建文本用户界面.针对其他操作系统(例如基于 ..
发布时间:2022-01-31 10:25:37 服务器开发

#include <filename> 和有什么区别?和#include“文件名"?

在C和C++编程语言中,include语句中使用尖括号和使用引号有什么区别,如下? #include #include "文件名" 解决方案 实际上,区别在于预处理器搜索包含文件的位置. 对于#include ,预处理器以与实现相关的方式搜索,通常在编译器/IDE 预先指定的搜索目录中.该方法通常用于包含标准库头文件. 对于#includ ..
发布时间:2022-01-30 15:52:00 C/C++开发

C++ 头文件重新定义/声明混淆

我试图从一个简单的程序中抽象出一个方法.此方法根据预先声明的 CAPACITY 常量测试数组的长度,如果不满足条件,则会发出错误消息.但是,我无法使用 .cpp 文件创建头文件来保存该方法. 头文件: //arrayHelper.h#ifndef ARRAYHELPER_H#define ARRAYHELPER_Hvoid arrayLengthCheck(int & length, co ..
发布时间:2022-01-25 19:24:35 C/C++开发

包含标题时防止多个#define

来自 python,我有点不知道正确的方法是什么. 我正在尝试将这个库包含在我的项目中:https://github.com/nothings/stb/blob/master/stb_image.h 为此,我必须在导入文件之前准确地#define STB_IMAGE_IMPLEMENTATION 一次(根据该文件的文档) 这是有道理的,我感到困惑的是,我有 CLASS.h/cpp ..
发布时间:2022-01-25 19:15:17 C/C++开发