正文内容加载中...
posted @ 2018-05-09 22:32 任智康 阅读(6939) 评论(1) 推荐(4) 编辑
摘要: GetSystemTime(LPSYSTEMTIME lpSystemTime)得到系统时间,这个时间是标准的UTC时间,也就是没有包含任何时区的时间的GetLocalTime(LPSYSTEMTIME lpSystemTime)得到当前时区的时间,它获取的是系统设置的地区的当地时间 FILETIM 阅读全文
posted @ 2017-09-29 20:43 任智康 阅读(4606) 评论(0) 推荐(0) 编辑
摘要: lua_State 中放的是 lua 虚拟机中的环境表、注册表、运行堆栈、虚拟机的上下文等数据。 从一个主线程(特指 lua 虚拟机中的线程,即 coroutine)中创建出来的新的 lua_State 会共享大部分数据,但会拥有一个独立的运行堆栈。所以一个线程对象拥有一个lua_State。 (p 阅读全文
posted @ 2017-05-05 11:41 任智康 阅读(3495) 评论(0) 推荐(0) 编辑
摘要: BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: BSD 阅读全文
posted @ 2017-04-08 20:37 任智康 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 1 创建线程 首先看看boost::thread的构造函数吧,boost::thread有两个构造函数: (1)thread():构造一个表示当前执行线程的线程对象; (2)explicit thread(const boost::function0& threadfunc): boost::fun 阅读全文
posted @ 2017-03-24 21:56 任智康 阅读(16285) 评论(0) 推荐(1) 编辑
摘要: 程序如下: 答案:第一行:12 第二行:f(1,2) 说明: 1、关于符号#和## 两个符号都只能用于预处理宏扩展。不能在普通的源码中使用它们,只能在宏定义中使用。 简单的说,#是把宏参数变为一个字符串,##是把两个宏参数连接在一起。 2、关于宏展开 预处理过程的几个步骤: 1)字符集转换(如三联字 阅读全文
posted @ 2017-03-23 08:55 任智康 阅读(1808) 评论(0) 推荐(0) 编辑
摘要: weak_ptr是为配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手,而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和operator->,它的最大作用在于协助shared_ptr,像旁观者那样观测资源的使用情况。 但它有一个很大的缺点,那 阅读全文
posted @ 2017-03-21 19:55 任智康 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 在计算机里,对于地址的描述,很少用“大”和“小”来形容;对应地,用的更多的是“高”和“低”;很不幸地,这对术语直接按字面翻译过来就成了“大端”和“小端”,在裘宗燕翻译的《程序设计实践》里,这对术语并没有翻译为“大端”和小端,而是“高尾端”和“低尾端”,这就好理解了:如果把一个数看成一个字符串,比如1 阅读全文
posted @ 2017-03-18 15:14 任智康 阅读(995) 评论(0) 推荐(2) 编辑
摘要: VC2012 下写 Windows 程序时,有时需要判断编译环境。在之前的文章《判断程序是否运行在 Windows x64 系统下。》里说过如何在运行期间判断系统环境,但在编译时如何判断? MSDN 里说,VC 有 3 个预处理常量,分别是 _WIN32,_WIN64,WIN32。这三个常量如何使用 阅读全文
posted @ 2017-03-17 09:05 任智康 阅读(1757) 评论(0) 推荐(0) 编辑
摘要: 列出预定义的 ANSI C和C++ Microsoft实现宏。 编译器识别预定义的ANSI C宏,并且Microsoft C++实现提供几个更多。这些宏不带参数,并且不能重定义。下面列出的某些预定义的宏定义与多个值。请参见下表。有关更多信息。 ANSI兼容的预定义宏 宏 说明 __DATE__ 当前 阅读全文
posted @ 2017-03-17 09:04 任智康 阅读(1954) 评论(1) 推荐(1) 编辑