![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++基础
文章平均质量分 86
zhuzhubin
本博客只用于学习笔记
展开
-
C++反汇编揭秘1 – 一个简单C++程序反汇编解析
如果想要了解C++内部的实现原理,没有什么比观察C++代码对应的汇编代码来的更直接了。本系列主要从汇编角度研究C++代码和汇编的对应关系,揭示C++内部的机制和原理。在第一篇文章中我将从一个简单的C++程序着手快速解释一下C++反汇编代码的基本的结构和内容,相当于一个简单的Preview。而在后续的文章中,我将根据不同的Topic,详细解释C++代码对应的反汇编代码。 一个简单的C转载 2008-09-27 14:34:00 · 691 阅读 · 0 评论 -
实现自己的“命令映射表”(上)
题是这样的,在自己的一个程序里,需要根据接收到的命令(此命令是一个字串)来执行相应的函数。类似的情况可能有:1、SOCKET 程序:程序可能要根据对方传来的命令来执行相应的函数。2、脚本解析程序:在一个程序中根据读入的命令串来执行相应的函数。3、类似WINDOWS的消息系统,一条消息对应一个函数。反正这种的应用很多,学会这种设计手法是非常有帮助的,因为它可以帮我们轻松的添加新的命令。这种手转载 2009-06-06 23:05:00 · 369 阅读 · 0 评论 -
实现自己的“命令映射表”(下)
在上一篇中,我们讨论了如何设计一个“命令映射表”,但是上篇对应于表中“命令”的所有函数都是同一类型的,均为返回值为 void,参数为 void 的函数。如果我们要根据不同的“命令”来执行不同类型的函数要怎么办呢? (这里的不同指的是执行函数的返回值可能不同,参数列表可能不同。)。好,我们下面就开始讨论这个问题。可能这篇比上篇会难一点,拿出你程序员的毅力来。想想搞定了以后,我们就可以在程序中转载 2009-06-06 23:06:00 · 470 阅读 · 0 评论 -
MTK中dbg_print函数的实现
在开发MTK的时候,总习惯一直跟踪代码,一层一层的跳进去看个究竟。看到dbg_print(char *fmt,...) 这个函数,看了函数体,发现它实现了我从前一直疑惑的一个问题,Printf的格式化输出是怎么实现的,查了一些关于可变参数函数的资料,并把mtk中printf格式化字符串的实现方式附上,希望对大家有用: 1.要在函数中使用参数,首先要包含头文件。 这个头文件声明了一个va_l转载 2009-03-05 11:15:00 · 2312 阅读 · 0 评论 -
成员函数的重载、覆盖与隐藏
重载与覆盖 成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。函数Base::f(int)与Base:原创 2009-02-26 09:27:00 · 407 阅读 · 0 评论 -
extern用法详解
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答转载 2008-09-27 14:47:00 · 381 阅读 · 0 评论