re: 一道面试题想到的 紫云追雪 2009-01-13 14:22
用 goto 语句 算循环吗?
或者,直接用汇编Jmp 算 循环吗?
xxx.h
#define Printf1 printf("Hello World")
#define Printf2 Printf1;Printf1;
#define Printf3 Printf2;Printf1;
#define Printf4 Printf3;Printf1;
......
#define Printf( N ) Printf ## N
硬编码 行不。。
Printf(n);
re: 改进log4c 紫云追雪 2009-01-05 10:02
偶也去年也 在做 Windows CE 方面的 开发,每次都想用个 独立的 LOG模块,发现单纯移植还是有很多麻烦的。比如 到后期你发现效率或什么不如意的,想 修正太难(可能由于原作者制作库的 时候,有些在WIN平台可以忽略的问题,在嵌入式上却必须首要考虑)。
我也想尝试自己写个能够很好移植到各个版本的嵌入式LOG模块(只写了个开头),但嵌入式方面的经验太少,没有办法做整体方面的设计。
关于STLport,不知道能不能移植到各大主流的嵌入式系统中去,我想应该没多大问题。所以我认为 LOG模块 是 建立 在 C、C++、STL、简单模板(?)基础上,核心使用C++,外包C或其他语言接口。
我的那个简单的LOG模块是参照wxWidgets,OGRE,Log4cpp,Gdal等,做的一个尝试。
如果有兴趣,我觉得还是参照已有的东西,新设计一份比较好。毕竟,嵌入式方面还是比较新的方向,已有的设计没法照顾到这些的。
过会我会把我写的一些东东发布到我的主页里面。(很零碎,没有实用价值,仅参考)
http://www.cppblog.com/Files/63956372/zyzx.rar
嗯,,稍微有点感觉。。
以前碰到过类似的问题,,在多继承做指针转换时,有可能出我们的意料。。还有就是在非x86指令集机器上编程,有可能会因为字节对齐方式使得原C风格指针转换出现问题。。
对于事件或消息处理部分看得不是很明白。
楼上的,在不同处理音频文件播放上正解。使用“责任链模式”,可以使你的设计在业务逻辑中间层不必考虑不同文件格式(MP3,MIDI,WAV等)带来的影响。
针对不同文件格式,提供与之对应的Handler(楼上的IPlayerCreator ),如果参照Com原理与Plugin思想,会使程序更灵活。
开源的音频处理软件audacity(
http://audacity.sourceforge.net/),在不同音频格式的读取播放和插件方面写的不错,可以参考。
audacity的GUI部分是使用开源库wxWidgets(
http://www.wxwidgets.org/)写的。