header-files相关内容
我正在编写一个程序,我有3个文件。 main,函数和头文件。主文件使用标题#include“ implementation.cpp”,功能文件使用标题#include“ driver.h”。在实现文件中,已声明3个结构,每个结构都通过使用extern共享其值,这在所需的最少再现代码中也可以看到。在头文件中,我声明了3个变量来使用这些外部变量。我相信这足以解决我的问题,但问题仍然存在。当我的代码尝试
..
我正在尝试编译一个cpp文件:dlib中的面部查找器: http:// dlib .net / face_detection_ex.cpp.html 。但是当我运行它时,它说我必须包括jpg和png文件的库: 处理图像/ home / james /Work/Coding/Sources/Image/950.jpg 引发异常! 无法将图像加载到文件/home/dave/Code/Re
..
如果我在文件中两次包含 iostream 或任何其他头文件会怎样? 我知道编译器不会抛出错误。 代码将被添加两次还是内部会发生什么? 当我们包含头文件时实际发生了什么? 解决方案 包含保护可防止编译器实际上两次看到文件的内容。 包含保护基本上是在头文件的开头和结尾处的一组预处理程序的条件指令: #ifndef SOME_STRING_H #定义SOME_STR
..
我有这个头文件: Utility.h: #pragma一次 #include #include #include #include #include 使用命名空间std; template struct int_ {
..
std :: optional 在C ++ 17中,以前是 std :: experimental :: optional 。 我尝试使用以下命令编译包含 的文件: g ++ -std = c ++ 17 .cpp (在Bash终端中)。我收到以下错误: .cpp:5:20致命错误:可选:无
..
我可以在类 .h 文件或实现文件 .cpp 中定义类构造函数的主体。就特定项目中的编译器而言,这两种样式可能是相同的(对我而言,项目表示 DLL )。 确实适用于任何成员函数:它们可以在头文件中定义,也可以在其中声明,然后在cpp文件中定义。 但是,我发现,如果我需要在不同的项目中包含此类类头文件(这意味着最终使用该头文件的代码会以不同的 DLL ),然后在头文件中进行实际实现会在编译时造
..
是否有可能避免以下头文件中的循环依赖而无需将 A类中的数据成员 b1 转向指针/引用,并不放宽 B类中的内联功能要求? Ah: #ifndef A_H #define A_H #include //必需,因为数据成员b1不是指针/引用 类A { public: B b1; //我想保持原样。 int m_a; }; #endif
..
我正在尝试了解 string s,但是不同的资料告诉我包括不同的标头。 有人说使用 ,但其他人提到“ apstring.h” 。我可以使用 apstring 做一些基本的事情,但有人告诉我另一个更强大。当我包含 并尝试声明一些字符串变量时,出现错误。正确的用法是什么? 解决方案 您要包含 并使用 std :: string
..
我想知道将C ++常规函数而不是方法(类中的方法)存储在头文件中是否是一种好习惯。 示例: #ifndef FUNCTIONS_H_INCLUDED #定义FUNCTIONS_H_INCLUDED int add(int a,int b) { 返回a + b; } #endif 并像这样使用它: #include
..
为什么C ++具有头文件和.cpp文件? 解决方案 好吧,主要原因是要分离接口从实施。头文件声明一个类(或正在执行的任何东西)将执行的操作,而cpp文件定义了其如何执行这些功能。 因此,使用标头的代码不一定需要了解实现的所有细节以及仅为此所需的任何其他类/标头。 这不是完美的,您通常会使用 =“ http://aszt.inf.elte.hu/~gsd/halado_cpp/c
..
我的目录已设置: libone one.c one.h Makefile.am libtwo two.c #includes one.h two.h Makefile.am ... Makefile.am configure.ac ... 现在,当我执行autoreconf -fvi并进行配置和制作时, 我从two.c中收到错误:找不到one.h. 如何在Ma
..
如果我编写了一个库,并且包含了用于开发的头文件,并且具有这样的src/Makefile.am: AM_CFLAGS = -std=c99 -Wall -Werror -Os lib_LTLIBRARIES = libmylibrary.la libmylibrary_la_SOURCES = a.c b.c include_HEADERS = a.h b.h 一切正常.但是,a.h和b.
..
有点类似于这篇文章,但仍然有所不同:我可以定义吗某些头文件中的全局auto变量?我尝试使用以下文件,但无法对其进行编译. $ cat main.cpp auto a = 5; #include "defs.h" int main(int argc, char **argv){ return a; } $ cat defs.h #ifndef __DEFS_H__ #define __DEFS
..
我正在为几个几何形状创建一个小型库.这样做,我将原型写到shapes.h文件中,并将方法写到shapes.cpp文件中. 这是标题: #ifndef __shapeslib #define __shapeslib class Shape{ protected: struct dimensions{ double heigth; double width; };
..
我希望一个进程公开消息的结构,以便其他接收该消息的进程可以使用它. 但是,此结构包括在其他头文件中定义的参数类型,而这些头文件本身还包括许多其他头文件. typedef struct sfp_info_s { int port; char platform_id[50]; sff_eeprom_t sff_type; char
..
我想在os x下使用cc编译为linux开发的c程序. 它包含头文件sys/io.h. 编译时出现错误消息,找不到该文件? os x下没有任何sys/io.h头文件吗? 任何帮助将不胜感激! 谢谢! 解决方案 改为包含. 或者为什么不两者都用? #ifdef __APPLE__ #include #els
..
说我有一个在文件evil_lair.hh中声明的类evilLord,并在文件evil_lair.cc中实现.现在,我要添加功能bool minionDo(std::string command).是否有任何脚本可以将声明和空函数定义自动放入相应的文件中? 我正在使用c-support vim-plugin,我觉得它很有用.也许可以将此功能添加到此脚本中... 解决方案 任务不是那么简
..
这是我第一次处理CUDA项目,该项目比简单的写入单个源文件和编译例程稍微复杂一些.不出所料,我在使用C标头时遇到了一些问题,即重复的符号. 根据链接器,在多个.cu文件中包含以下头文件会引起冲突: env_vars.h #ifndef ENV_VARS_H_ #define ENV_VARS_H_ /*** GLOBAL VARIABLES ***/ unsigned int
..
每次我尝试以下方法: long crypt(int *integer) { printf("Enter five digit integer:\n"); scanf("%i",integer); int digit1=integer/10000; int digit2=(integer%10000)/1000; int digit3=(integer%1000)/100; int di
..
我正在将一些代码移植到OpenBSD 5.0,并且遇到了这个非常奇怪的问题. 我的构建设置使用-isystem /usr/local/include.很难记住,但我相信我这样做是为了避免在将Boost安装到/usr/local/include的系统类型(例如BSD)上使用-Wall引起大量的编译器警告.这似乎在FreeBSD上效果很好. 因此,请使用以下程序: #include
..