技术随笔
文章平均质量分 74
zjplus
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VC中实现多行工具栏
VC中实现工具栏是件轻而易举的事,然而要实现多行工具栏却需要一定的编程,本文简要介绍实现一个简单的多行工具栏 的具体方法。 多行工具栏的实现方法是用CBRS_SIZE_FIXED样式创建工具栏,然后再用TBBS_WRAPPED设置一行末尾的按钮样式。注意,创建时一定要使用CBRS_SIZE_FIXED样式,不然是不会使工具栏按钮换行的。 先创建一原创 2006-09-17 10:41:00 · 2209 阅读 · 1 评论 -
VS2005中宏定义错误
在现有代码中添加如下一个宏,竟然出错, #define error_return(f) / do { / if (!(f)) / { / std::cout<<"error happened when calling "<<#f<<std::endl; / return; / } / } while (0)编译通不过原创 2008-06-20 17:25:00 · 1026 阅读 · 0 评论 -
包含windows.h出错的问题
在win32 console编程中,出现包含windows.h就会报错的情况,具体如下 ../vc/platformsdk/include/rpcndr.h(147) : error C2632: “char”后面的“int”非法 ../vc/platformsdk/include/rpcndr.h(147) : warning C4091: “typedef ”: 没有声明变量时忽略“u原创 2008-06-18 19:38:00 · 3764 阅读 · 1 评论 -
C++异常效率的测试
一直都不知道异常的效率损失有多大,在程序中都一直避免使用异常。虽然网上说一个好的C++实现,使异常造成的效率可以减小到5%,然而《C++程序设计语言》一书中指出,理论上一个好的C++实现,可以不会造成效率损失。异常的效率损失到底如何呢,为了搞懂这个东西,我写了如下三个测试程序: normal.cpp 不使用try语句 try_with_no_exception.cpp 使用try语原创 2008-06-12 19:27:00 · 2680 阅读 · 2 评论 -
INI配置文件类
工作中需要经常读取INI配置文件,自己写了一个简单的类来做这些重复工作,该类简单实用,在我的工作中发挥了较好效用,下面贴出代码,供有需要的人参考。CommonDefs.h文件//=============================================================================/*** @file CommonD原创 2008-06-09 14:48:00 · 962 阅读 · 0 评论 -
AIX下生成动态库的问题
AIX上编译一个库,Makefile部分内容如下,libwrapper.so: $(libwrapper_so_OBJECTS) @echo ${COMPILE} @echo $(libwrapper_so_OBJECTS) ${COMPILE} -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.s原创 2008-04-20 19:24:00 · 1611 阅读 · 0 评论 -
关于宏展开的一些总结
在C++中,尽管使用宏是不推荐的,但是很多时候宏也会为我们提供一些方便,且在现有代码中宏也确实大量存在。有人认为宏是错误的根源,因为宏展开后,有可能会出现一些稀奇古怪的代码,那么,本文在这里总结一些查看宏展开后的代码的方法。 1、在visual studio 2005中,选择项目属性-〉配置属性-〉C/C++-〉预处理器,在“生成预处理文件”中选择生成预处理文件,“不带行号(/EP /原创 2008-04-20 20:04:00 · 4007 阅读 · 0 评论 -
fork产生僵死子进程的问题
之前写的一个程序,调用fork产生子进程,子进程进行实际工作,父进程则使用信号处理函数来接收子进程结束信号,然后调用waitpid,处理子进程的僵死进程。按理说这样做,应该不会出现僵死进程了,但是,经过大量实际数据测试后,还是会出现僵死进程。一直都找不到问题原因,最后使用ps命令得到父进程的pid,并用gdb调试器attach父进程,执行bt命令,发现堆栈情况如下(gdb) bt#原创 2008-03-15 14:41:00 · 1215 阅读 · 0 评论 -
构造、拷贝构造函数基础
构造函数 构造函数可以重载,但是重载可能会出现一些问题,降低了代码的可读性。例一:// 类定义class C1{public: C1(){}; // 默认构造函数 C1(int n){ // 构造函数 cout }; C1(char *str){ // 构造函数 c原创 2007-08-11 20:10:00 · 668 阅读 · 0 评论 -
转:给自己学习C++的50个忠告
网络上对学习C++的忠告,非常好,对我学习C++很有帮助。 这里再把它转出来,也算对自己的再次勉励。1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我转载 2006-11-19 21:26:00 · 939 阅读 · 1 评论 -
APUE学习笔记:第八章 进程控制
1、进程标识符,ID为0的进程是调度进程,也称交换进程swapper,是内核的一部分,而ID为1的则为init进程,获取进程ID有如下一些函数#include pid_t getpid(void);pid_t getppid(void);uid_t getuid(void);uid_t geteuid(void);gid_t getgid(void);gid_t getegid(void);2原创 2008-10-14 17:10:00 · 695 阅读 · 0 评论
分享