C/C++
GoatYangYang
这个作者很懒,什么都没留下…
展开
-
buffer overrun及函数stack分析
buffer overrun:缓冲区越界,即写一块缓冲区,该缓冲区的内存地址比给定缓冲区的地址高;buffer underflow:缓冲区下溢,即写一块缓冲区,该缓冲区的内存地址比给定的缓冲区地址低。 容易产生buffer overrun的函数调用有:strcpy, gets, scanf, sprintf, strcat,可代替函数strncpy, strncat, and memc翻译 2011-11-29 20:07:20 · 3146 阅读 · 0 评论 -
巧用宏定义进行调试
巧用宏定义进行调试 在进行程序设计时,有时我们往往不希望借住于调试工具(如:gdb, vc),而以输出调试信息的方式进行调试时,我们就可以借住于强大的宏定义来进行调试。 一、在GCC下的定义方法,因为GCC支持变参数的宏定义,所以我们可以用如下定义:#ifdef DEBUG# define DBG(format, args...)转载 2011-11-08 20:02:23 · 1363 阅读 · 1 评论 -
C语言的一些基础知识
这是在看了谭浩强的《C语言程序设计》的一些笔记,贴出来方面自己有空看看1.void与void*在函数声明时的区别: void:是指该函数无返回值; void*:是指该函数有返回值为指针类型,且该类型为空指针类型;2.可执行文件生成的过程: 先由编译程序将源文件(source file)编译生成目标文件(object file),原创 2011-12-18 21:04:12 · 1026 阅读 · 0 评论 -
(转)高质量c++(重载、覆盖、隐藏)
原帖 http://blog.csdn.net/zgbsoap/article/details/566120成员函数的重载、覆盖与隐藏成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。8.2.1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)v转载 2012-01-07 12:08:49 · 640 阅读 · 0 评论 -
C++ Const 成员函数
原文链接:http://zq2007.blog.hexun.com/8625800_d.html一些成员函数改变对象,一些成员函数不改变对象。例如: int Point::GetY(){ return yVal;} 这个函数被调用时,不改变Point对象,而下面的函数改变Point对象: void Point:: SetPt (int x, int y)转载 2012-02-06 10:53:32 · 584 阅读 · 0 评论 -
头文件不宜定义变量原因解析
转自:http://hi.baidu.com/zengzhaonong/blog/item/8c10e90366c2bf733912bbb0.html http://blog.csdn.net/wzsbll/article/details/6655919 test-1.0使用#ifndef只是防止了头文件被重复包含(其实本例中只有一个头件,不会存在转载 2012-03-28 13:21:01 · 1090 阅读 · 0 评论 -
(转)关于volatile和原子操作研究的插曲
链接地址:http://hi.baidu.com/chenzhuoyou/blog/item/ff65da1327a6c50a5aaf53e8.html -------------------------------------------------------------------------------------------------------------------转载 2012-03-28 13:36:57 · 1152 阅读 · 0 评论 -
.h和.cpp文件的区别
本文转自:http://www.cnblogs.com/Charles2008/archive/2009/09/03/1559896.html首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了.一个程序,可以由一个编译单元组成,也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读转载 2012-03-28 15:12:27 · 4223 阅读 · 0 评论