函数和变量都有声明和定义两个写法.声明的目的是告诉别的代码这个变量的名称,而定义比声明多了一个功能,除了告知名称以外,还会为这个变量分配内存.对于函数来说,加不加extern都没有关系,因为有函数体一定是定义,加extern也会被忽略,而没有函数体的就是声明, int add(int a, int b); 等价于 extern int add(int a, int b); 如果是变量的话int a; // 定义了一个变量aextern int a; // 声明了一个变量a变量可以有任意个声明,但…
今天突然想到一个问题,我们平时写代码会将代码进行分类,写到不同的cpp里,然后要用到那个类里面的函数,就直接include .h文件就好了.然后今天就在想,.h里面都是一些声明,它是怎么链接到.cpp的呢,是不是.h和.cpp需要名称相同呢,当然,我试过名称不同也是可以的.就是因为这样,我才有了疑问,为什么引入.h文件就可以用相关的函数,他们是怎样关联的.因此我做了一个实验: 第一步,创建一个项目,主文件是main.cpp,然后创建了a.h和a.cpp,a.cpp中#include "a.h&q…
VC include 路径解析要了解vc中使用#include命令包含头文件所搜寻的路径,必须先了解vc中的几种路径:1. 系统路径 系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径. 打开此对话框会发现默认有这几条路径: C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE C:\Program Files\Microsoft V…
先说结论: ①:动态库优先级最差,如果同时有静态库和动态库,那么首先使用的是静态库函数. ②:如果只有两个或多个动态库,那么首先使用的是最开始链接的动态库函数: ③:弱符号函数在动态库中是起任何作用的 ④:动态库是强函数,静态库是若符号函数,那么extern使用的就是若符号函数 下面举例说明: Ⅰ:首先是本源文件中包含若函数,然后链接动态库的强符号函数.如下分别是源码和结论 //main.cpp #include<stdio.h> #define _weak __attribute__((we…
源:http://blog.csdn.net/vippolka/article/details/8552735 在项目中引入.h..lib和dll.以及.cpp 1..h的引入 解决办法1:把  XX.h拷到工程目录下 解决办法2:更常用的情况是,我们在其它地方建立一个Include目录,然后设置项目环境配置,指向该目录,如下:         配置项目属性:c/c++      常规   附加包含目录     添加:..\..\Include (有多个工程的情况,如果都引用同样的.h文件) 至…
转载:天南韩立CSDN博客 #include<>直接从编译器自带的函数库中寻找文件 #include" "是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件 采用"<>"方式进行包含的头文件表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件只能采用" "的…
warning C4627: “#include <windows.h>”:  在查找预编译头使用时跳过 解决办法: 原因是没有在cpp文件最前一行添加没有添加 #include "stdafx.h" #include "stdafx.h" 一定要添加到cpp文件的第一行,不能放在如”#include <iostream>“行等的后面,否则还是会出现类似错误!…
采用"< >"方式进行包含的头文件表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 例如:VS的安装目录\Microsoft Visual Studio 9.0\VC\include下面就包含了标准库的头文件. 第二种方式表示先在工程所在路径下搜索,如果失败,再到系统标准路径下搜索. 所以,特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件只能采用"…
两种情况区分: 1.#include <> 编译器只会去系统文件目录中查找,找不到就报错. 2.#include " "  编译器会先在用户目录中查找,再到编译器设定的目录中查找,最后到系统文件中目录中查找. 以上注意点: 1.情况1用于系统自带头文件 2.情况2用于用户自己编写头文件 3.两种情况理论上都可以用 #include " " 形式,但是标准头文件或系统头文件使用其形式会导致编译效率降低 4.在C++11标准中,包含C++提供的标准头文件或系…
将一堆命令放在脚本里变成可执行脚本执行: 脚本编写,文件名为.sh,获取hostname的主机名 系统变量: Env:查看系统变量 Set :打印所有变量可以和grep和用 Export path:定义全局变量path 将内存中真实的使用量获取到: mem_used=`free | awk 'NR==3{print $3}'` Echo $mem_use Man test :查看关系运算符,test相当于[] 关系运算: 大于号(>)  -gt 小于-lt 大于等于-ge 小于等于-le 等于-…