
C++
willnow
城市轨道交通ATS
展开
-
实现网页版的限时定时RFID读取
<br />注:定时功能参考我的日志<> atl制作多线程activex,共三个线程A,B,C. A指主线程,B指读取RFID的子线程1(一个定时器),C指计算剩余时间的子线程2(一个定时器).其中B需要invoke js中的函数(比如onread)将读取到的标签EPC通过ajax从服务器取回详细信息并在网页中显示,C需要invoke js中的函数(比如ontime)将剩余时间在网页中显示. js是单线程的不能运行多线程程序,因此activex提供了线程引擎将多线程转化成了单线程(个人觉得类似于操作系统的时原创 2011-05-31 09:46:00 · 2047 阅读 · 1 评论 -
ATL 开发ActiveX控件之定时器使用(改进,含源码)
原定时器设计:http://blog.youkuaiyun.com/strmagic/archive/2007/10/23/1840365.aspx原定时器缺点1:使用继承方式无法实现一个类具有多个定时器原因:采用继承方式改进思路:将继承方式给成聚合,将定时器作为类的成员变量,这样便可以定义多个定时器具体方案:1.增加public的成员变量 T* m_cls和 UINT m_nTimerID; 2.将TimerOn函数中的第条语句修改为Derived* pDerived原创 2011-05-31 09:47:00 · 3326 阅读 · 0 评论 -
C++0x FAQ中文版
http://space.itpub.net/17237043/viewspace-688609http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/转载 2011-06-23 09:53:00 · 441 阅读 · 0 评论 -
关于虚析构函数
为说明问题,首先请查看如下代码,并思考一个问题,“以下代码为什么会出现内存泄露?”。 class test{ public: test(const char *& bb=0) { b = new char[sizeof(bb)]; strcpy(b,bb); } virtual void a()=0; ~test(){ if(b) d原创 2011-06-27 16:46:00 · 714 阅读 · 0 评论 -
内存对齐的规则以及作用
首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include 4 5 using namespace std; 6 7 struct st1 8 { 9 char a ;10 int转载 2011-07-04 13:51:10 · 658 阅读 · 2 评论 -
预编译
预编译又称为预处理,是做些代码文本的替换工作 处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等 就是为编译做的预备工作的阶段 主要处理#开始的预编译指令 预编译指令指示了在程序正式编译前就由编译器进行的操转载 2011-07-04 22:18:51 · 546 阅读 · 0 评论 -
线程安全的C++的Singleton实现
//文章参见: http://www.2maomao.com/blog/when-cplusplus-meet-singleton///------------------Implementation #1 ----------------------//s.转载 2011-07-05 15:08:00 · 799 阅读 · 0 评论 -
VC6.0中C4541号警告的原因以及解决方案
原文:http://hi.baidu.com/nkhzj/blog/item/0c4ade167010a81b972b4307.htmlVC6.0中C4541号警告的原因以及解决方案2007-09-05 15:04今天在VC6.0中使用dynamic_castwarning C4转载 2011-07-09 22:17:10 · 1400 阅读 · 0 评论 -
使用Boost.Python构建混合系统
使用Boost.Python构建混合系统Building Hybrid Systems with Boost.PythonAuthor:David AbrahamsContact:dave@boost-consulting.co转载 2011-08-12 16:43:16 · 1562 阅读 · 1 评论