摘要:
1.C调用Lua函数 (1)首先要进行Lua的初始化,这个主要是lua_open和luaL_openlibs函数 (2)然后是解析并编译lua的代码,这个主要是luaL_dofile函数 (3) 解析好之后使用lua_getglobal指明要调用的lua函数 (4)如果有lua函数的参... 阅读全文
摘要:
1.SQL与MongoDB概念映射SQL Terms/ConceptsMongoDB Terms/ConceptsdatabasedatabasetablecollectionrowdocumentorBSONdocumentcolumnfieldindexindextable joinsembed... 阅读全文
摘要:
1.引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便。PC-Lint是一款针对C/C++语言、windows平台的静态分析工具,FlexeLint是针对其他平 台的PC-Lint版本。由于PC-Lint/FlexeLint是商业的程序分析工具,不便于... 阅读全文
摘要:
在系统部署运行时我们经常发现某个程序在开发机器中可以运行,但是部署在某台PC上缺不能运行,也存在在某些机器上可运行换一台机器却不能运行。主要表现出两种现象: (1)、运行、调试时出现程序启动时报错,提示出现错误无法启动。 (2)、程序执行数据库查询语句时直接跳过,查询函数调用时断点也无法... 阅读全文
摘要:
1.VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;可以得到泄露内存的完整数据;可以设置内存泄露报告的级别;并且是开源免费的。2.VLD下载... 阅读全文
摘要:
1.死锁1.1 基本概念死锁:死锁指的是系统中并发执行的多个线程(进程)由于无法获所需的资源而永久阻塞的状态。死锁产生的必要条件: A.排它性互斥:指的是资源在任意时刻只能由一个任务(线程或进程)使用。如果此时还有其它任务请求该资源,则请求者只能等待,直至占有资源的任务释放资源。 B.不可抢占:... 阅读全文
摘要:
信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都 在sem_wait的时候,就阻塞在那里)。当信号量为单值信号量是,也可以完成一个资源的互斥访问。有名信号量:可以用于不同进程间或多线程间的互斥与同步... 阅读全文
摘要:
1. 综述 在一些程序中存在读者写者问题,也就是说,对某些资源的访问会存在两种可能的情况,一种是访问必须是排它行的,就是独占的意思,这称作写操作;另一种情况就是访问方式可以是共享的,就是说可以有多个线程同时去访问某个资源,这种就称作读操作。这个问题模型是从对文件的读写操作中引申出来的。 读写锁... 阅读全文
摘要:
一、创建一个线程创建线程 boost::thread myThread(threadFun); 需要注意的是:参数可以是函数对象或者函数指针。并且这个函数无参数,并返回void类型。 当一个thread执行完成时,这个子线程就会消失。注意这个线程对象不会消失,它仍然是一个还处在它的生存期的C++对象... 阅读全文
摘要:
左值右值是表达式的属性,该属性称为 value category。按该属性分类,每一个表达式属于下列之一:lvalueleft value,传统意义上的左值xvalueexpiring value, x值,指通过“右值引用”产生的对象prvaluepure rvalue,纯右值,传统意义上的右值... 阅读全文