首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
C++包含头文件时尖括号和双引号区别
】的更多相关文章
C++包含头文件时尖括号和双引号区别
原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include <文件名>,但有时候又会出现#include "文件名".你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢? 这两种写法都是正确的写法,但是它们却是有区别的.我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Includ…
C头文件中尖括号与双引号的区别及编译搜索顺序
这两天被问到一个很有意思的问题:C头文件中尖括号与双引号有什么区别,以前只大约知道 <> 常用在系统库文件,"" 常用在自定义的借口文件中,那具体在gcc编译搜索过程中有啥区别,还得仔细查阅一番相关文档. 针对 <> 与 "" 的区别有如下解释: 摘抄自:https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html#Include-Syntax 而在搜索时的区别,则做如下优先级排序: 摘抄自:…
C语言包含头文件时用引号和尖括号的区别
用尖括号 #include <>: 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找 用双引号 #include "": 一般用于包含用户自己编写的头文件,编译器会先在项目的当前目录查找,找不到后才会去系统配置的库环境变量和用户配置的路径去搜索 尖括号和双引号,区别不是很重要的.其实编译器搜索包含文件,是依据搜索路径环境设置,那是很灵活的.一般说推荐用尖括号,不过是减少搜索路径加快预处理速度的意思,…
C++中#include <xxx.h>和#include "xxx.h"的区别(尖括号和双引号的区别)
第一种方式:采用< >方式,表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 例如:VS2015的安装目录\Microsoft Visual Studio 14.0\VC\include下面就包含了标准库的头文件. 第二种方式:采用" "方式,表示先在工程所在路径下搜索,如果失败,再到系统标准路径下搜索. 所以,特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件…
C/C++ 引入头文件时 #include<***.h> 与 #include"***.h" 区别
两种情况区分: 1.#include <> 编译器只会去系统文件目录中查找,找不到就报错. 2.#include " " 编译器会先在用户目录中查找,再到编译器设定的目录中查找,最后到系统文件中目录中查找. 以上注意点: 1.情况1用于系统自带头文件 2.情况2用于用户自己编写头文件 3.两种情况理论上都可以用 #include " " 形式,但是标准头文件或系统头文件使用其形式会导致编译效率降低 4.在C++11标准中,包含C++提供的标准头文件或系…
C++ #include—尖括号和双引号的区别
如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include <文件名>,但有时候又会出现#include "文件名".你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢? 这两种写法都是正确的写法,但是它们却是有区别的.我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Include文件夹里.当我们使用#include <文件名>命令时,编译器就到这个文件夹里去找对应的文件.显…
转载 关于include尖括号和双引号的区别。
对于使用尖括号( < >),预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于使用双引号(“ ”),cpp在当前目录中搜寻头文件,这个选项的作用是告诉cpp,如果在当前目录中没有找到需要的文件,就到指定的dirname目录中去寻找.在程序设计中,如果我们需要的这种包含文件分别分布在不同的目录中,就需要逐个使用-I选项给出搜索路径. 通常用 < >包含的是标准库的头文件,而用""包含的是用户自己定义的类库的头文件.&quo…
include包含头文件的语句中,双引号和尖括号的区别是什么?
include包含头文件的语句中,双引号和尖括号的区别是什么? #include <> 格式:引用标准库头文件,编译器从标准库目录开始搜索 尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件; 尖括号:在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: #incluce "" 格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常…
include包含头文件的语句中,双引号和尖括号的区别
include包含头文件的语句中,双引号和尖括号的区别 #include <>格式:引用标准库头文件,编译器从标准库目录开始搜索 #incluce ""格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中.被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样. #include 指令有两种使用形式 …
C语言的本质(20)——预处理之二:条件预处理和包含头文件
我们可以通过定义不同的宏来决定编译程序对哪些代码进行处理.条件编译指令将决定那些代码被编译,而哪些是不被编译的.可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件. 条件编译可分为三种情况,按照不同的条件去编译不同的程序部分,因而产生不同的目标文件,这对于程序的移植和调试都非常有用. 1. #ifdef 标识符 程序段1 #else 程序段2 #endif 功能:如果标识符已经被#define定义过,则对程序段1进行编译,否则对程序段2进行编译.如果没有程序断2,#else可以没哟. 2…
C/C++不同文件夹下包含头文件的方法及#include的使用
转自:http://blog.sina.com.cn/s/blog_6e0693f70100so42.html 本文主要介绍了如何不同文件夹下使用预处理器指示符#include. 假设我们有如下一个工程,其中包含了几个源代码文件和头文件.其中main.c是主源代码文件,里面包含main函数.在base中包含:func3.h,func3.c,文件夹main和文件夹func4在main中包含:main.c,func1.h,func1.c和文件夹func2.在func2中包含:func2.h和func…
ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件
当出现访问类的函数或者需要确定类大小的时候,才需要用头文件(使用其类定义) http://blog.csdn.net/clever101/article/details/4751717 看到这个警告,我想你一定悟到了什么.下面我说说我的结论:类的前置声明和包含头文件的区别在于类的前置声明是告诉编译器有这种类型,但是它没有告诉编译器这种类型的大小.成员函数和数据成员,而包含头文件则是完全告诉了编译器这种类型到底是怎样的(包括大小和成员).这下我们也明白了为何前置声明只能使用指针来进行,因为指…
C++中#include包含头文件带 .h 和不带 .h 的区别
C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同? 之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using namespace std; 导入命名空间,而 #include <iostream.h> 则不用,这个得看C+ +标准化过程为C++开发者做了哪些有意义的工作. (…
c++包含头文件好还是重新定义好
A.h struct A { int a; int b; }; B.cpp 在B.cpp里面用到这个结构体 有两种方法 .自己定义一个一模一样的结构体 struct A { }; .包含A.h头文件 第一种感觉有点蛋疼同样的结构体定义两次,是不是重复了 第二种包含别人的头文件,会带来编译的小麻烦,而且这样模块之间的关联性变大了,感觉也不好 大家觉得哪种方法好?为什么呢? 不要重复发明轮子 , 除非这个轮子满足不了你的需求 先问一个问题,如果别人改了struct A,比如删掉了int b或者加了个…
在.h和.cpp中包含头文件的区别
1.在.h中包含头文件,是为了声明一系列这个头文件的变量等,可能会产生重复包含的问题: 2.在.cpp中包含头文件只是为了实现这个头文件或者使用其中的方法,不会有重复包含的问题,所以尽量在源文件中包含头文件.…
在VC6.0中编译头文件时产生moc文件
1.在FileView视图中 右键点击需要产生moc文件的头文件(就是类中包含Q_OBJECT宏,如果没有这个宏就不需要产生moc文件) 2.在右键菜单中选择Setting... 3.选择Custom Build,在Commands栏中输入:%qtdir%\bin\moc.exe $(InputDir)\$(InputName).h -o $(InputDir)\moc_$(InputName).cpp Outputs中输入:$(InputDir)\moc_$(InputName).cpp 这样…
C++ 包含头文件 和 宏的使用 和 条件编译
1 #define命令剖析 1.1 #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义. (1)简单的宏定义: #define <宏名> <字符串> 例: #define PI 3.1415926 (2) 带参数的宏定义 #define <宏名> (<参数表>) <宏体> 例…
C++ 前置声明 和 包含头文件 如何选择
假设有一个Date类 Date.h class Date { private: int year, month, day; }; 如果有个Task类的定义要用到Date类,有两种写法 其一 Task1.h class Date; class Task1 { public: Date getData(); }; 其二 Task2.h #include "Date.h" class Task2 { public: Date getData(); }; 一个采用前置声明,一个采用#inclu…
C程序之包含头文件
在C程序中包含文件有以下两种方法: 方法一:#include<XXX.h> 这里的XXX一般是改动较小的标准库,用符号"<"和">"将要包含的文件的文件名括起来.这种方法指示预处理程序到预定义的缺省路径下寻找文件.预定义的缺省路径通常是在INCLUDE环境变量中指定的,请看下例: INCLUDE=C:\COMPILER\INCLUDE:S:\SOURCE\HEADERS: 对于上述INCLUDE环境变量,如果用一对儿尖括号包含起来的文件,编译…
引用其他头文件时出现这种错误,莫名其妙,error C2065: “ColorMatrix”: 未声明的标识符
今天做项目时,直接拷贝了另一个工程里的头文件和源文件,然后运行时就出现这种问题,莫名其妙,在原程序里运行一点问题就没有,但是在新工程里就是error. >e:\c++\button_fly2\button_fly2\gdipbutton.cpp(): error C2065: “ColorMatrix”: 未声明的标识符 >e:\c++\button_fly2\button_fly2\gdipbutton.cpp(): error C2146: 语法错误: 缺少“;”(在标识符“HotMat”…
APUE包含头文件"apue.h"问题
下载源码 从unix高级编程书籍官网下载书籍的上的所有源码. wget http://www.apuebook.com/src.tar.gz 解压这个文件 tar -zxvf src.tar.gz 解压后文件会放在apue.2e目录下,这个目录里包含了书本上的源码,也包含了apue.h和error.c文件. 复制apue.h到/usr/include/下 cp ./apue.2e/include/apue.h /usr/include/ /usr/include/下并没有这个文件,所以放心复制吧…
Linux下包含头文件的路径问题与动态库链接路径问题
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1]include头文件路径除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:# C export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH # CPP export C…
在一个非默认的位置包含头文件stdafx.h
如果stdafx.h和你当前的工程不在一个文件夹下,当你在代码中第一行写下#include "stdafx.h"时,VC编译器会根据编译规则(相关的规则请查看MSDN)来区别stdafx.h的位 置,但是其智能感知工具IntelliSense却不能.所以你的代码即使能够通过编译器,而IntelliSense却不能感知到,因为它没有利用相同的规则.如果你指定了这个文件的 具体位置,例如"..//stdafx.h",此时IntelliSene能够正确的感知到,而编译器却…
Eclipse 包含头文件 添加环境变量
Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:<stdio.h>” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽.下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下.关于在Eclipse 下配置C /C ++ 开发环境这里不多说了. 在终端下查看C 库文件到路径: $ echo "int main() { return 0; }" > a1.c $ gcc -v a1.c #in…
关于添加非系统framework后,import导入头文件时没有提示的解决办法
##1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths(如图所示: ##2.双击后面的空白区域:(如图所示:) ##3.点击“+”号添加一项:并且输入:“$(SRCROOT)/framework文件路径/XXXXX.framework/Headers”(没有引号,Headers为存放.h头文件的文件夹),在确定后会自动变成:工程路径/framework文件路径/XXXXX.f…
解决javah生成c头文件时找不到android类库的问题
问题描述: cmd下面进入工程的bin/classes下面,执行 javah xxx.xxx.A 生成头文件, 一般来说都是可以成功执行的,但是如果xxx.xxx.A类里面引用了android类库里面的类的话,就会报异常,如下图: 上面因为引用了android.graphics.Bitmap,所以导致生成头文件失败. 解决办法: 执行javah命令的时候,可以指定classpath,将需要的jar包引入进去就可以了.如下 javah -classpath D:\ide\android-s…
头文件带和不带.h的区别
所有C++标准库的头文件都是没有.h结尾的.这么做是为了区分,C标准库的头文件和C++标准库的头文件.比如最具代表性的: #include <string.h> // C 标准库头文件,包含 strlen,memset 等函数 #include <string> // C++ 标准库头文件,包含 std::string 类 此外对于所有C标准库头文件,如果你是在C++项目中引用,你应该使用#include 这种方式而不是#include <xxx.h>这种形式.也就是说…
头文件---#include<***.h>和#include"***.h"的区别
采用"< >"方式进行包含的头文件表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 例如:VS的安装目录\Microsoft Visual Studio 9.0\VC\include下面就包含了标准库的头文件. 第二种方式表示先在工程所在路径下搜索,如果失败,再到系统标准路径下搜索. 所以,特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件只能采用"…
引入css文件时,css link和@import区别
这里link与@import介绍的是html引入css的语法单词.两者均是引入css到html的单词. 一.了解基本 1.link语法结构 <link href="CSSurl路径" rel="stylesheet" type="text/css" /> 实际应用截图: 使用link标签截图 Html link标签说明 此标签是引入CSS文件link标签,只要设置好路径即可. 2.@import语法结构 @import + 空格+ u…
PowerDesigner生成SQL脚本时,对象带有双引号的问题解决
在pdm查看脚本时,发现表名和字段名带有双引号: 1.create table"cfg_user_card_account" ( 2. "user_card_account_id" number not null, 3. "dat_user_id" NUMBER, 4. "user_balance" number, 5. "user_…