这个问题就是典型的缓冲区溢出的问题。书上给了个netbsd中banner的例子以及应该使用的正确函数。正确的应该使用:strlcpy,strncpy,strlcat,fgets,snprintf,vsnprintf,getcwd;等。如果在vs下开发,则可以利用*_s等。其中的例子:char message[MAXMSG]; if (*argv) { strcpy(message, *argv); while (*++argv) { strcat(message, " "); strcat(message, *argv); } nchars = strlen(message); } else {。。。} 正确的:char *message; if (*argv) { for(i=0, j=0; i < argc; i++) j += strlen(a

文章来源:
http://blog.csdn.net/mejy/archive/2008/01/24/2062731.aspx
今天例会提了个建议:就是将单个小模块分配到每个人,当然不是像涉及的面比较宽的那种功能或者涉及到系统架构的东西,其实我提这样的想法是有原因的。但是老大们反对这么做。我的理由很简单:1、可能对于大的公司或者一个比较成熟的项目这么做是不合适,但是对于小的团队或者是处在十分尴尬位置的项目来说,我觉得是可行的。2、影响开发进度或者失败的原因通常可以总结为:(1)需求变更,(2)计划不具体管理较混乱,(3)开发人员不努力或者技术不过关。(4)人员不够 (5)对一个项目或者产品的长远不是很明确。3、其中大家说的一个理由是“一个人做某个功能如果该人员离职那么维护起来风险太大”,不能说没有道理,但是我觉得系统维护的难易不是人员的问题,项目中的人员变动是不可避免的,如何减少人员流动姑且不论。一个好的或者清晰的架构以及清晰的文档只要做好交接工作,维护起来比一个不好的架构要省很多的力量,如果架构不好即使谁维护可能选择的都是重构。记得当初我写某管理模块的时候,那时刚毕业,技术很有限,代码结构太差,最后只好花了很多时间重构了一把。 针对这个问题的另一面那

文章来源:
http://blog.csdn.net/mejy/archive/2008/01/21/2056659.aspx
1995年出现的Java语言确实是一门伟大的语言,尽管它也不是完美的语言,而C++是一门比较"古老"的预言了,Java中有很多值得C++借鉴的东西。不知道未来的C++ 0x标准出来以后,C++会变成怎样?1.强大的反射机制和RTTI特性这个特性是当前流行的J2EE framework的基础,如Spring,Hibernate,无不利用了Java强大的反射机制。Java可以在运行期动态创建class,并且invoke某一个方法。MyClass helper = (MyClass) Class.forName(className).newInstance();最近 看高质量的程序设计中提到反射机制, C#中有这个机制,得深入了解一下.2.内建对多线程的支持和synchronized关键字C++标准本没有提供比如创建thread的方法,不过现在出现了boost::thread应该是将来的C++标准。Java中有synchronized这个关键字,这是一种很简单,安全的锁机制。多线程编程很重要,但是也很复杂。希望新的C++

文章来源:
http://blog.csdn.net/mejy/archive/2008/01/20/2055290.aspx
我看到的方法好像主要有2种,随笔记录一下,不知道是否还有第三种1.将构造函数声明为私有2.利用虚函数,虚函数通常用在继承中.Powered by ScribeFire.

文章来源:
http://blog.csdn.net/mejy/archive/2008/01/18/2050816.aspx
The following code is an example of receiving event notifications through WMI: #include "eventsink.h"int main(int iArgCnt, char ** argv){ HRESULT hres; // Step 1: -------------------------------------------------- // Initialize COM. ------------------------------------------ hres = CoInitializeEx(0, COINIT_MULTITHREADED); if (FAILED(hres)) { cout << "Failed to initialize COM library. Error code = 0x" << hex << hres

文章来源:
http://blog.csdn.net/mejy/archive/2008/01/17/2049064.aspx
在使用Xtreme界面库时,有些组件会在构造时发生异常,例如CXTCheckListBox等解决方法是:在项目的.rc2文件中加入一句#include "XTToolkitPro.rc" 就可以解决了. Technorati Tags: Xtreme 异常Powered by ScribeFire.

文章来源:
http://blog.csdn.net/mejy/archive/2007/12/19/1953787.aspx
解析Cookie欺骗实现过程及具体应用 2005-10-19 12:08:00 标签: 正如我们所知道的,在网络词汇中,cookie是一个特殊的信息,虽然只是服务器存于用户计算机上的一个文本文件,但由于其内容的不寻常性(与服务器有一定的互交性,且常会存储用户名,甚至口令,或是其它一些敏感信息,例如在江湖或是一些社区中,常会用cookie来保存用户集分,等级等等)。因而成为一些高手关注的对像,借此来取得特殊权限,甚至攻克整个网站。本人出些拙作,以javascript中对cookie的应用,来说初步说明cookie欺骗的实现过程及具体应用。 一、cookie的建立 在讲如何建立cookie之前,我们先来了解一下cookie的基本格式: cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain 其中各项以;分开,首先是指定cookie的名称,并为其赋值。接下来分别是cookie的有效期,url路径以及域名,在这几项中,除

文章来源:
http://blog.csdn.net/mejy/archive/2007/12/03/1913298.aspx