- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 实践堆栈缓冲区溢出(2)
上篇文章给出的程序代码如下: //测试环境:Windows XP + SP2 Intel T2050 Centrino Duo //编译环境:Visual C++ 8.0 (无CLR) #include "stdafx.h"
2008-02-14 20:43:00
863
2
原创 实践堆栈缓冲区溢出(1)
文章可能比较繁琐吧……有点像个人日记,其中也遇到了问题…… ……正文开始:缓冲区溢出(Buffer Overflow),呃,对于程序员来说,总是不愉快的,而且它往往成为许多漏洞的根源。不过对于Hacker们,可能是个很高兴的发现。十分常见的一种缓冲区溢出情况就是……通过适当的溢出,覆盖其他区域的数据,从而打乱程序的正常流程。 堆栈溢出,是一种比较容易实现的。此篇文章就以C++为
2008-02-14 20:38:00
796
原创 Eclipse下配置C和C++的开发环境(过程篇)
Eclipse是大名鼎鼎的IDE(集成开发环境)。估计用过Java的人都用过Eclipse。不过Eclipse既然是个IDE,又不是单单地designed for Java,那么它肯定同样可以用来作为其他语言的开发环境,比如C/C++。 经过上网搜了一番,经历了一些波折,终于成功地搭建了Eclipse下的C/C++开发环境。个人整理了下步骤: 第一步:需要安装一个CD
2008-01-31 15:15:00
999
3
原创 关于swap的几点发散思维(3)
用PIMPL手法来保证异常安全异常,在C++中既是一个好东西,又不是一个好东西。因为它会打破程序的正常流程,虽然通过异常处理机制可以在一定程度上解决问题,但仍然很容易造成资源泄漏。同时,用好了它,也会给你带来很多好处。优秀的程序中,你不用再看到大块的try和catch。已经不需要了。使用智能指针,RAII,以对象管理资源,可以保证对象析构时候资源的正常释放。没
2008-01-30 18:16:00
1279
11
原创 free store 和 heap
free store (自由存储区)和 heap (堆),在C/C++中经常会遇到。他们是否有区别呢?偶最早发现这两个概念性问题是在《Exceptional C++》一书中。其中提到C++中使用new分配所得的内存是分配在 freestore 上,而C 风格的内存分配 malloc 分配所得的内存是在 heap 上。额。这个有什么区别呢?通过在 Google 的搜索,所得的中文资料
2008-01-29 17:57:00
4368
原创 关于swap的几点发散思维(2)
Java到底能不能实现类似C++的swap C++的swap函数相信大家都不陌生吧,呵呵,就是典型的三行代码。该函数位于默认的std命名空间内,并且是一个模板函数。我们这里先简单讨论下这个swap函数的参数应该是什么样。 首先,肯定是两个参数,我们这里命名形式参数为a,b,实际参数为m,n,以整数为例。如果是如下的代码:void swap(int a, int b)
2008-01-27 22:01:00
693
3
原创 关于swap的几点发散思维(1)
(1) 不用中间变量的交换 不用中间变量,这个起初觉得不太现实,但是经过一些技巧,却可以很轻松的实现。同样是3行代码,可以代替老套的temp = a; a = b; b = temp; //swap a and b这三行。 新的解决方案嘛,可以相当巧妙的,使用了位运算中的异或运算符。代码也是只有三行:a ^= b; b ^= a; a ^= b;
2008-01-24 17:19:00
907
12
原创 Extreme Programming (2)
呵呵,这里呢要切入正题咯…… XP ,虽说是一种相对比较新颖的设想,不过仍然少不了 Teamwork。 相对与传统的,它显得十分轻量(lightweight),基本价值观,这个引用下原文,就是交流、朴素、反馈和勇气。 在这个团队里面,当接手一个项目的时候,开发人员会把项目分划更为细致,针对不同的需求,先确定出不同的模块,这里给这些基于需求提出的模块起一个好听的名字,叫Use
2008-01-22 22:18:00
511
1
原创 Extreme Programming (1)
Extreme Programming ,极限编程,有个很好听的缩写名称,为XP。呃,不过显然不是去模仿 Microsoft Windows XP操作系统名称,因为极限编程理念的提出是1996年,远远早于XP系统的出现。我目前是大一软件工程学院的学生,虽说是只有大一,不过我们学院程序设计老师,呃,在教我们 Java 的同时,一直向我们灌输软件工程的思想。对我们的编程风格反复要求,甚是严
2008-01-22 21:34:00
492
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人