[编程语言]C/C++
文章平均质量分 84
yeweiouyang
这个作者很懒,什么都没留下…
展开
-
谈谈 C++ 内存管理
有多少个new就有多少个delete 二维动态数组的写法 首先开辟第一维的空间,第一维是char型的指针char **s = new char*[182];在第一维的基础上,开辟第二维的空间,第二维是不定长度的char型s[nCounts] = new char[str.length()];释放二维动态数组时,规则是由内到原创 2013-03-05 09:34:29 · 725 阅读 · 0 评论 -
VC 命令行 CL
如果你的 VC 6.0 是按默认安装在 C 盘的话,打开“Microsoft Visual Studio\VC98\Bin”里面有一个“VSVARS32.BAT” 的文件,打开它,运行一次,cl.exe 就可以使用了如果你的 VC 6.0 是安装在其他盘(比如我的 VC 6.0 就安装在 E 盘下),就需要配置一下坏境设置了,打开“我的电脑-属性-高级-坏境变量”,设置如下:在这一原创 2013-03-06 08:09:37 · 2224 阅读 · 0 评论 -
C语言编译过程总结详解
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下: 从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则转载 2013-04-18 20:22:35 · 820 阅读 · 0 评论 -
关于编译的时候生成MAP文件
【0. MSDN中关于参数的说明】/MAP (生成 Map文件)这个选项告诉连接器要生成一个map文件。命令行干吗的备注/MAP生成MAP文件默认生生成的map文件是程序名+.map/MAP:filename指定Map文件名不用默认文件名,用你指定的文件名map文件包含了要连接的程序的一下转载 2013-03-14 20:36:33 · 9027 阅读 · 0 评论 -
VC调试方法大全
一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置转载 2013-05-03 10:01:19 · 814 阅读 · 0 评论 -
ADO连接数据库方法
1. 引入ADO数据库文件msado15.dll,在stdafx.h文件中添加如下代码1 #import "C:\Program Files\Common Files\System\ado\msado15.dll" \2 no_namespace rename ("EOF", "adoEOF")2. 在stdafx.h头文件中引入afxdb.h头文件1 #includ原创 2013-03-05 09:39:32 · 898 阅读 · 0 评论 -
标签控件TabControl的使用
基于对话框的标签控件TabControl---------------------------------------------一、 基本属性 1. 创建一个新的MFC工程,基于 对话框2. 选择“Tab控件”,选择属性栏,Style选择“Right Justify”,可以选择“Hot Track”,选择后鼠标经过会有特殊效果3. 为 Tab控件原创 2013-03-05 09:40:08 · 906 阅读 · 0 评论 -
函数调用约定及函数名称修饰符
本文出处:http://bdxnote.blog.163.com/blog/static/84442352010017361476/几乎每种编程语言都有函数的概念,而作为函数,就一定有参数的概念;一般来说,参数的传递是通过堆栈来实现的,堆栈是一种先入后出的数据结构,使用Push()把参数压入栈中,使用Pop()把参数弹出栈,而且Push()和Pop()必须成对出现;重要的一转载 2013-08-31 01:11:30 · 1247 阅读 · 0 评论 -
__stdcall 和 __cdecl 的区别
1. __cdecl__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,由调用者负责把参数压入栈,最后也是由调用者负责清除栈的内容,一般来说,这是 C/C++ 的默认调用函数的规则,MS VC 编译器采用的规则则是这种规则2. __stdcall_stdcall 是StandardCall的缩写,是原创 2013-03-05 09:29:22 · 4674 阅读 · 1 评论 -
C程序编译执行过程
认识C编译执行过程,是C学习的开端。简单说C语言从编码编译到执行要经历一下过程: C源代码编译---->形成目标代码,目标代码是在目标机器上运行的代码。连接---->将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序)。执行----->在特定的机器环境下运行C程序。 如果用一个图 来表示: 以上转载 2013-05-03 10:32:27 · 738 阅读 · 0 评论 -
C/C++数组名与指针区别深入探索
引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误转载 2013-04-21 10:49:36 · 610 阅读 · 0 评论 -
函数指针 Function Pointer
Programs as Data: Function PointersBy Alex AllainA function pointer is a variable that stores the address of a function that can later be called through that function pointer. This is useful b翻译 2013-04-22 09:05:33 · 1790 阅读 · 0 评论 -
sizeof()用法汇总
sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作 指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果转载 2013-04-26 19:46:06 · 758 阅读 · 0 评论 -
从逆向分析角度看C++ 中的引用
几个问题:1. 引用变量占有内存空间吗?2. 引用是怎样工作的?3. 指针是怎样工作的?4. 引用和指针有什么区别?1. 何为引用《C++ Primer》里面是这样说的“引用(Reference)就是对象的另一个名字,引用只是它绑定的对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上”,这句话概括得很彻底2. 引用占有内存空间吗?原创 2013-03-13 22:00:12 · 4258 阅读 · 0 评论 -
C++ 友元函数(Friend)
在类的外部,任何实例访问类的 private 或 protected 成员都是被禁止的,这是出于安全性的考虑。但是很多时候,出于实用性的考虑,的确需要从外部访问类的 private 或 protected 的成员,这可以在 C++ 中通过关键字 friend 来实现。友元(friend)机制允许一个类将对其非公有成员(private 和 protected 成员)的访问授予指定的函数或类。友元原创 2013-03-12 01:43:47 · 1277 阅读 · 0 评论 -
内存对齐机制
我相信在网上已经有很多关于内存对齐机制的文章了,在这里,我只想通过一个小例子来阐明内存分配的现象有这样的一段代码://: 内存对齐_2#include struct A { char m1; // 1 double m2; // 8 int m3; // 4};int main() { A a = {'A', 0.2, 4};原创 2013-03-05 09:32:06 · 1640 阅读 · 0 评论 -
C++的多态与切片问题(Section Problem)
C++内存分配的方式大体上可以归纳为3种1) 从静态存储区中分配:内存在编译时就已经分配好,这块内存在程序的整个运行期间都存在,例如全局变量,static变量2) 在栈上分配:执行函数时,函数内局部变量的存储单元都可在栈上创建,函数执行结束时,这些存储单元自动被释放3) 在堆上分配:也称为动态内存分配,程序在运行的时候用malloc或new申请任意多少的内存,除非程序运行结束或者程原创 2013-03-05 09:30:34 · 2049 阅读 · 1 评论 -
一个语法分析器的实现
语法分析设计文档LR分析法分LR(0),SLR(1),LALR,LR(1)好几种,具体是SLR(1)分析法,对于LR分析法来说,语法分析过程都由一个称为“总控程序”来完成的总控程序是LR分析法的核心处理模块,而LR分析表又是总控程序的核心部分,所以整个LR分析法的核心部分就是求出LR分析表,下面就首先说明LR分析表的构造 给定文法(注意这里的标号表示的是第几条归约式,后面会用到原创 2013-06-17 21:01:23 · 5723 阅读 · 2 评论