C语言中双字符组(digraph)和三字符组(trigraph)的使用注意事项
Thursday, January 10th, 2008 如果在C代码中有这样的输出语句,那输出结果是不是“Continue???(y/n)”
printf(”Continue???(y/n)\n”);
实际上上面语句输出的结果是“Continue?[y/n)\n”,有同事E全员发送了一个求助邮件,询问这样输出的原因。
关于VC编译时BSCMAKE BK4503的警告的一点说明
Tuesday, November 20th, 2007同事报告说我做的VC工程DEBUG版本编译的时候有BK4503警告,问我是怎么回事。试了一下自己的环境下编译,却是没有警告正常结束。大致的警告是这样的“BSCMAKE: warning BK4503 : minor error in .SBR file ‘.\Debug\SAMPLE.SBR’ ignored ”,google了一下,发现几乎没有关于这个警告的信息。
关于删除一个指针一文后续引发的思考
Saturday, November 10th, 2007在cppblog的blog上写过一篇《在删除一个指针delete p之前是否需要检查p是否为NULL?》,结果引发了一些讨论,因为func的评论,有幸让fr3@K也参与了其中.讨论进行的也算比较热烈,对于讨论结果当时也以为找到了最终解.一切问题都已经解决了.再次访问fr3@K的codefreak博客,看了他的关于这一讨论的《重複 delete 指標》一文之后,却让我不由得开始重新思考这个问题,也开始质问自己面对问题时候的思考方式是否正确。
C++ 程序文档生成器(doxygen)用法介绍
Saturday, November 10th, 2007Doxygen是基于GPL的开源项目,是一个非常优秀的文档系统,当前支持在大多数unix(包括linux),windows家族,Mac系统上运行,完全支持C++, C, Java, IDL(Corba和Microsoft 家族)语言,部分支持PHP和C#语言,输出格式包括HTML、latex、RTF、ps、PDF、压缩的HTML和unix manpage,Doxygen软件可以从这里下载,软件本身用法非常简单。这里不做介绍,下面主要是代码中doxygen的注释的写法的介绍。
一个有用的宏定义
Sunday, October 21st, 2007※作者:丁志刚 转载请注明:Minidx全文检索【http://blog.minidx.com/2007/10/21/21.html】
在cppblog上 发了篇《在删除一个指针delete p之前是否需要检查p是否为NULL?》,经过讨论,得到了一个比较实用的宏定义:
#define SAFE_DELETE(p) do{delete p; p=NULL;}while(false)
以前都是用if,先记下了,以后就这么用。:)
C++中删除一个指针delete p的工作原理
Saturday, October 20th, 2007C++ 的debug跟踪的时候,delete操作时没办法跟进去的。看了一下delete的代码,发现delete p 操作做了两个处理:调用析构函数和释放内存。
#define的作用域/作用范围
Tuesday, October 16th, 2007#define可谓是从小用到大……(汗,夸张了点……),不过一直没有去考虑过它的作用范围,随手写了个程序测试了一下,结果是作用域的概念同样可以适用于#define,还是用代码说话吧。