- 博客(9)
- 收藏
- 关注
原创 正则表达式
1.正则表达式是什么?指我们用一段根据某种句法规则写出的字符串来对我们要求的目的字符串进行描述。 2.为什么要用正则表达式?可以这么说,正则表达式能做的,都能够通过正常的编程来实现。那么我们为什么还要学习正则呢?原因很简单:1)正则表达式能够很大幅度的简化代码,实现起来也更为顺手;2)用正则表达式去处理字符串,代码更容易理解;3)通常来说,正则表达式的速度远比自己写逻辑
2016-08-12 21:20:09 289
原创 #pragma once与#ifndef的异同
1.#pragma once这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次。#pragma once用来防止某个头文件被多次include。#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。 #pragma once ... ... //
2016-08-12 21:17:02 250
原创 函数可变参数
可变参数1.有关函数栈的一些事儿(未考虑参数对齐,考虑其实也是一样,这里做简化讨论)这里要知道两个事情:⑴函数栈生长方向:在intel+windows的机器上,函数栈的方向是由下向上的,栈顶指针的内存地址低于栈底指针,所以先进栈的数据是存放在内存的高地址处。(2)参数入栈顺序:有函数void Add(int a,int b,int c,...),其参数在内存中是连续排列的,如图,那
2016-08-12 21:15:16 342
转载 dumpbin命令不能使用解决方法
我们在查看一个.exe文件需要哪些.dll和一个dll会导出那些函数的时候我们都会用到dumpbin,但运行的时候dumpbin的时候总是提示dumbin是无效的命令(在DOS下的cmd命令中),按照孙鑫的视频中的方法:说找不到是可能是环境变量遭到破坏,运行D:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat,这个批处理程
2016-08-12 21:10:35 8200 2
原创 DLL库的编写(导出、导入)与使用
DLL库的编写(导出、导入)与使用相关说明:(1) 编写dll时,为什么用 extern “C”:因为C和C++的重命名规则是不一样的。这种重命名称为“Name-Mangling”。据说,C++标准并没有规定Name-Mangling的方案,所以不同编译器使用的是不同的,例如:Borland C++跟Microsoft C++就不同,而且可能不同版本的编译器他们的Name-Mang
2016-04-17 18:47:32 1559
原创 二维数组、指针数组、行指针、二级指针间的关联
二维数组、指针数组、二级指针、行指针互转1. 一维数组在讲二维数组之前,先回忆一维数组。定义一个一维数组int a[10],其内存结构如图: 图1在中括号[]之前的a表示数组的首地址,a+i则表示第i个int型数据的地址,通过*解引用,来索引具体的数据。2. 二维数组与指针数组、二级指针 图2先有如下定义:int **q;int *p[3];in
2016-04-17 18:34:30 1567 1
原创 64位系统和32位系统区别
我们通常说的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)数据宽度为64位。数据传输:64位平台不管是在性能上,还是在功能上,都要领先于目前的32位平台,目前主流的32位处理器在性能执行模式方面存在一个严重的缺陷:当面临大量的数据流时,32位的寄存器和指令集不能及时进行相应的处理运算。32位处理器一次只能处理
2016-04-16 10:19:37 840
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人