- 博客(32)
- 收藏
- 关注
转载 Makefile与shell脚本区别
在Makefile可以调用shell脚本,但是Makefile和shell脚本是不同的。本文试着归纳一下Makefile和shell脚本的不同。1、 shell中所有引用以$打头的变量其后要加{},而在Makefile中的变量是以$打头的后加()。实例如下:MakefilePATH="/data/"SUBPATH=$(PATH)ShellPATH="/data/"S
2014-01-12 21:24:50
495
转载 Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"
2014-01-12 15:47:18
571
转载 $MAKE
$(MAKE) 嵌套执行make在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于我们模块编译和分段编译有着非常大的好处。例如,我们有一个子目录
2014-01-12 14:58:27
683
转载 shell/终端
shell是什么? shell是系统的用户界面,它提供了用户与内核交互的接口。它接收用户输入的命令并把它送入内核执行,再将执行结果显示给用户。尽管近十年来个人计算机使用的接口普遍从字符型的命令行界面转向图形用户界面,并且Linux本身在图形化环境方面也做了很大改进,但在UNIX/Linux操作系统领域,shell依然是众多系统管理员首选的操作工具。什么是Linux终端
2014-01-11 21:04:36
1048
转载 c++反射实现
只需要继承基本类Object,在类的头文件中定义宏,DECLARE_CLASS(类名),在类的实现文件中定义宏,IMPLEMENT_CLASS(类名),即可,欢迎指正。代码以来的库都是C++标准库,所以不需要额外添加库。 例如: #include #include #include "DynBase.h" using namespace std; class
2013-12-08 21:50:52
410
转载 for_each()详解
for_each使用方法详解[转]Abstract之前在<a target="_blank" title="(原創) 如何使用for_each() algorithm? (初级) (C++) " href="http://www.cnblogs.com/oomusou/archive/200" target="_blank">(原創) 如何使用for_each() al
2013-11-06 15:56:29
912
转载 c++异常
程序做错误检查是必要的,通常我们可以通过返回值告诉客户有了错误,不过异常提供了更加方便的手段和丰富的信息。当某处程序发现了错误,可以选择自己处理或者交给外部调用者处理,比如:void Func(char* p){if(p==NULL){throw std::invalid_argument(“p is NULL”);}} 而调用者可以选择拦截该异常对象或者放
2013-11-04 14:17:15
425
转载 读取ini配置
MiniINI是一个开源的,非常高效的,并且非常容易上手的INI库。使用C++实现的,同时也可以操作CFG文件。它本身不依赖除标准库以外的任何库文件,能够在支持C99的各种编译器上编译。采用MIT/X许可证,有兴趣的可以参考:https://code.launchpad.net/miniini。到现在为止,项目本身并不支持对INI文件的写操作,因此只有忍痛割爱了。它的接口非常简洁。可以看看示例代码
2013-10-28 20:34:13
1260
翻译 关于TCHAR与tchar.h
因为VS里的很多字符编码都是采用unicode来编码的,为了兼容字符集。微软开发了tchar包,tchar 在unicode下是wchar(双字符),而普通是char。因为C++支持两种字符串,即常规的ANSI编码和Unicode编码,这样对应的就有了两套字符串字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串 。微软将这两套字符集及其操作进行了统一,通过条件编译(通
2013-10-28 19:21:03
642
原创 #pragma
#pragma once(比较常用)只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,这条指令实际上在VC6中就已经有了,但是考虑到兼容性并没有太多的使用它。#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。#ifndef,#define,#endif这个是C++语言相
2013-10-28 19:19:32
423
转载 先序遍历二叉树的递归算法怎样理解
二叉树的结点结构是: 1、根结点(存放结点数据) 2、左子树指针 3、右子树指计 对二叉树的遍历就是访问各个结点中根结点里存放的数据。例如: 如果结点A有左结点B,右结点C,记作A(B,C),不同结点我用"\"隔开。那么有这样一个(BitTree)二叉树表A(B,C) \B(D,E)\E(F.G)\C(空,H)\H(I.空), 自己画出来,不然我后面白讲了。
2013-08-21 21:50:31
1030
转载 C++中get函数和getline函数
cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。 cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,比如: #include using std::cin; using std::cout; const int SIZE = 15; int main( ){
2013-08-21 20:50:25
618
转载 拷贝构造函数
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2013-08-21 20:26:18
626
转载 Matlab中的RandStream
一,matlab中生成随机数主要有三个函数:rand, randn,randi1,rand 生成均匀分布的伪随机数。分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single' rand(Ran
2013-05-22 19:13:12
3507
原创 cout输出16进制
// 方法1coutcoutcout// 方法2// 输出16进制, setbase(int)可以设置8等。 cout // 方法3 setiosflags(ios::showbase); cout .......cout.unsetf(ios::hex);#include#includeusin
2013-05-18 14:55:11
727
原创 引用小结
1.引用作为返回值int &get(int *arr,int size){ return arr[size];}int main(){ int arry[2] = {0,1}; for(int i = 0;i <2; i++) { get(arry,i) = i; } cout << arry[0] << endl;r
2013-05-18 13:17:53
427
原创 c面试题大全(不断更新)
1.SONY一道笔试题(较简单)完成下面程序**.*.*..*..*..*...*...*...*...*....*....*....*....*....*.....*.....*.....*.....*.....*.....*......*......*......*......*......*......*......*.......*.......*...
2013-05-15 14:55:53
513
转载 C/C++中Static的作用详述
C/C++中Static的作用详述在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c
2013-05-13 00:37:16
416
原创 运算符重载
c++不允许用户定义新的运算符,只能对于已有的运算符进行重载。除了5个不能外.成员访问运算符 , .*成员访问指针运算符 , ::域运算符 ,sizeof尺寸运算符 , ?:条件运算符其余都可以运算符重载函数可以作为类的成员函数,也可以放在类外作为类的友元函数例:#include //实现复数加法#define FLAG 0class Complex{
2013-05-11 21:21:58
1483
原创 设置电脑为护眼保护色(绿豆沙色)
如何设置电脑的保护色(绿豆沙色) 第一步: 桌面-右键-属性-外观-高级-“项目”选择“窗口”-“颜色”选择“其它”,然后把Hue(色调)设为85,Sat(饱和度)设为90(或105),Lum(亮度)设为205(或235)。然后单击添加到自定义颜色(Addtocustomcolors),按“确定”...一直确定。第二步: txt文档在做完第一步后一般就会自动变成绿豆沙色。做完第
2013-05-11 18:30:17
3805
转载 static
C/C++中Static的作用详述在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c
2013-05-11 14:44:42
365
原创 预处理
1.宏定义用双引号括起来将失去作用如#define PI 3.14若在main函数中使用,printf(“PI”);输出的将是PI2.#define #undef取消宏定义,3.与typedef差别: #define char* PIN1 typedef char* PIN2; PIN1 x,y; // char *x,y; PI
2013-05-11 11:15:15
382
原创 fseek
/******************************************************************************************函数功能:******fseek(文件类型指针,位移量,起始点)******文件开头 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2******fseek(fp,100
2013-05-10 22:13:45
411
原创 fread,fwrite
/******************************************************************************************函数功能:从键盘输入2个学生的有关数据,然后把它们以二进制的格式输入到磁盘文件中******fread,fwrite ******fread(buffer,size(每块字节数),count(块个数),fp)
2013-05-10 21:39:49
439
原创 fgets,fputs,gets,puts
gets()读取换行符并将其丢弃,fgets()把换行符存字符串里,但每次显示字符串会显示换行符(不足之处)。fgets() 是为文件I/O而设计得,在处理键盘输入时就不如gets()那么方便。它需要第二个参数来说明最大读入字符数,如果这个参数值为n ,fgets()就会读取最多n-1个字符或者读完一个换行符为止,由这二者中最先满足得那个来结束输入。fgets()还需要第三个参数来说明哪一个文
2013-05-10 20:31:57
826
原创 fgetc,fputc用法
几个实例:注:int feof(FILE *stream); //检测流上的文件结束符feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。EOF是文本文件结束的标志。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,普通字符的ASCⅡ代码的范围是32到127(十进制),EOF的16进制代码为0x1A(十进制为26),因此可以用EO
2013-05-10 15:48:09
1449
转载 C++之命名空间
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函数,这是因为这两个函数都是位于全局命名空间中的。命名冲突还会发生在一个程序中使用两个或者更多的第三方库的情况中。
2013-05-10 15:01:29
368
转载 C&C++之标准库
什么是C&C++的标准库?C语言被发明出来时并没有什么库函数,随着C语言的流行,越来越多的厂商或者机构组织开始提供C的编译器,并且同时把经常用到的函数封装成“库”的形式发布;不同的组织发布的库函数的接口和数量各不相同。后来,标准化组织ANSI制定了C语言的标准,同时也制定了一定数量的库(或库函数),就就成为标准库函数。(后来这个ANSI C标准上升为ISO标准,但是内容并没有变化!谁让美国是老
2013-05-10 14:51:32
679
转载 整型,字符串转换
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子: # include # include void main (void) { int num = 100; char str[25]; itoa(num, str
2013-05-09 22:05:05
449
转载 C语言\r\n和\n区别
1.C语言\r\n和\n区别\r是回车符,\n是换行符 计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回
2013-05-09 20:26:08
928
原创 fopen函数小结
一.函数简介1.函数功能: 打开一个文件 2.函数原型:FILE * fopen(const char * path,const char * mode); 3.相关函数:open,fclose,fopen_s[1] ,_wfopen 所需库: 4.返回值: 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。一般而
2013-05-09 20:23:38
1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人