项目经验(综合)
文章平均质量分 72
zhangweiit
这个作者很懒,什么都没留下…
展开
-
windows 平台下 event 与 mutex的配合使用 模拟posix的条件变量
wait mutexwhile(!check){release mutexwait event timeoutwait mutex}release mutex原创 2015-03-20 09:40:07 · 421 阅读 · 0 评论 -
C|C++模拟反射
C++本身不具有反射特性。没用语言的这一动态调用功能,实在是有点不方便尽管MFC等框架实现了RTTI等特性,但也是不完全的,不标准的,无法跨平台的。可是我们总会有办法的,就算麻烦一点,也可以利用一些简单的,看起来笨笨的方法去实现一下。接下来,我说两个方案。一:在动态库中实现函数。在动态库中实现函数并导出,这有一个好处,就是可以在运行时根据名称来调用函数。这种方法的局原创 2013-10-30 11:37:01 · 632 阅读 · 0 评论 -
C++的前置申明(forward declaration)
C++前置申明class OtherClass;class MyClass{private: OtherClass* m_pOther;//使用前置申明中的类型定义的成员必须是指针类型 OtherClass m_pOther2;//错,因为如果这样的话,编译器没有类型信息,不懂要分配多少空间给这个成员}原创 2014-11-25 10:56:34 · 769 阅读 · 0 评论 -
C++应用程序的入口
也许,你对设计一个应用程序的入口有点茫然,我这里讲一些简单的套路//你自己写一个app类,继承于一个线程类,当然这个线程类你可以自己封装,也可以去找开源的class MyApp:XxThread{public: bool NeedStop(); void NoticeStop()} void Run(){ while(1){ if(m_bNeedStop){原创 2014-12-05 19:36:52 · 1236 阅读 · 0 评论 -
javascript中的继承的实现方式
javascript也是面向对象的编程语言,但是它面向对象的特性并没有实现完全.每个脚本解释器,和不同的运行环境,都会有不同的面向对象实现,不同保证相互兼容.如NODEJS,以及IE,FF,CHROME等环境.笔者今天发表自己的继承写法,希望大家一起讨论 这个写法可能会有点麻烦,但是可以确保兼容.同时也注意了性能的问题,因为以往在prototype中直接创建对象的方式来绑定,会有多余对象生产可能会原创 2014-01-05 11:11:58 · 539 阅读 · 0 评论 -
JNI入门引导
1,什么是JNIJNI=Java Native Interface = java 本地接口这里的关键是“本地”这两个字,什么是“本地”?本地就是操作系统可以直接执行的代码,这是相对"JAVA代码"而言的,JAVA在这个时候可以被称为“外地代码”要知道,java编译出来的代码,操作系统无法执行,要经过JAVA虚拟机的实时“翻译”才能交给CPU去处理,一般来说,本地代码是C|C++原创 2012-10-12 17:51:55 · 432 阅读 · 0 评论 -
C++的构造函数与内存分配设计
设计C++类的时候最好自己实现两个成员方法Construct,Destruct,I用在构造函数和析构函数再写一个Init相关的方法,用来分配空间等操作,构造函数一般不要分配内存空间,只用来初始化各个变量,以防违法操作,如置0之类如果构造函数分配了空间,那在实现copy constructor的时候会浪费空间如果一定要分配空间,那,最好分两步一步是变量初始化,一步是空原创 2013-12-03 11:53:25 · 1602 阅读 · 0 评论 -
C与C++的11大区别
罗列C与C++的区别,并解析如何利用好这些特性原创 2014-07-24 11:01:48 · 2243 阅读 · 1 评论