c/cpp
文章平均质量分 88
songtzu
songtzu,咚锵卡通肖像画的作者。
展开
-
用C语言编写 Windows 服务程序的五个步骤以及服务编程常见问题处理
------------------------------------------------------------------------------------截止到下一个声明版权信息位置为止,以下部分转载自internetWindows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C+转载 2014-03-20 09:16:02 · 1333 阅读 · 0 评论 -
生产消费模型实例C++11
#include // std::cout#include // std::thread#include // std::mutex, std::unique_lock#include // std::condition_variable#include #include std:原创 2016-04-07 20:46:35 · 1079 阅读 · 0 评论 -
c++web方案
我草草画了一个http的简单流程图,几个关键点很显然。好的的web架构都在于后台数据的及时处理。读者范围好吧,切入正题。本文的读者群是想用c++开发web的geek,适用于中小规模的业务需求,其服务是基于c或者cpp,其作者只会这两种语言,需要将自己的产品封装成web服务的群体。大并发量的web架构不是本文考虑的要点。你可能会在想我是不是有病,没事用C++搞web?原理与关键点原创 2015-10-24 13:42:47 · 757 阅读 · 0 评论 -
opencv从内存读取图片
使用场景:cv_2.4.1/ cpp/linux,我有一内存的文件内存快,是一图片。需要读取到Mat中。原方案是io保存一次,然后执行imread。后面细想,这个方案要消耗两次IO,很浪费。能否绕过IO的瓶颈呢?然后我去查CV的文档,有imdecode这样的接口Reads an image from a buffer in memory.C++: Mat imdecode(In原创 2015-06-01 10:49:53 · 17595 阅读 · 4 评论 -
函数指针、callback、message queue
函数指针、callback、message queue三者关系在Java等程序员眼中属于高深莫测的内容。诸多Android/java程序员常用handle,但是对于handle的实现原理估计讳莫如深。原创 2015-02-09 17:44:31 · 876 阅读 · 0 评论 -
c/c++多线程编程与无锁数据结构漫谈
本文主要针对c/c++,系统主要针对linux。本文引述别人的资料均在引述段落加以声明。原创 2015-01-30 10:09:33 · 3574 阅读 · 0 评论 -
c++临时对象创建的问题
今天遇到一个c++构造函数的奇怪问题。classA{public: //default construction classA(){} //construction classA(const char *str){}}classB{public: //default construction classB(){} //construction cla原创 2015-01-21 19:43:19 · 598 阅读 · 0 评论 -
dll隐藏导出函数名
DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明;另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。 首先创建 一个DLL程序,.cpp中int __stdcall Add(int numa, int numb){原创 2014-07-29 17:58:24 · 2978 阅读 · 0 评论 -
c/cpp混合编译
在用C++的项目源码中,经常会不可避免的会看到下面的代码:#ifdef __cplusplusextern "C" {#endif/*...*/ #ifdef __cplusplus}#endif转载 2014-08-25 17:57:49 · 3402 阅读 · 0 评论 -
linux调试器检测
在Windows下,程序可以用以下API函数检测当前进程是否正在被调试。int debugger_present;HANDLE process = GetCurrentProcess();CheckRemoteDebuggerPresent(process, &debugger_present);转载 2014-08-08 09:39:22 · 1240 阅读 · 0 评论 -
内存泄露与野指针的思考
数据大小与指针大小?int a=sizeof(char);int b=sizeof(char*);不应妄自揣度内存大小struct MyStruct{ long dwNumber; int nsize; long dwId;};//long takes 4byte//int takes 2byteMyStruct * pstruct;Pstruct=(My原创 2014-02-13 15:41:20 · 912 阅读 · 0 评论 -
逆向基础---vc汇编(一)
首先介绍我们会经常看到的一些寄存器:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP) 4个数据寄存器(EAX、EBX、ECX和EDX):32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和D原创 2014-07-16 14:04:04 · 1129 阅读 · 0 评论 -
printf利用转译字符在终端显示进度条(时钟)
void processbar(){ time_t t_time; char *a_time; char *day; char *hour; int count=0; day=(char*)malloc(15); hour=(char*)malloc(15); printf("\033[2J"); while (1)原创 2014-07-24 09:40:46 · 2972 阅读 · 0 评论 -
VC汇编(二)
一些常见的基础寄存器8086原创 2014-07-17 16:26:23 · 598 阅读 · 0 评论 -
VC++实现android的Toast消息框的功能
android的Toast消息框:通常是显示指定的字符串,三五秒钟之后隐藏消息框。此对话框功能在android上面用途颇多,当然android上面实现此功能十分简单。vc则需要自己动手了。定义一个ToastLabel类,继承自CWnd类。类包含:一个定时器对象、一个CStatic对象、一个public方法(用以传递参数并启动Toast消息。当然也可以不要,改成在构造函数中传递参原创 2014-03-24 15:14:00 · 1491 阅读 · 0 评论 -
好书推荐
关于C++并发编程实践与理论结合的书,至去年年底还没看到过成体系的作品。上个月逛亚马逊,看到一本今年上架的《C++并发编程实战》--willians。下单买回来读了一半,翻译还算到位,没有出现十分严重的问题,内容体系是我读过的这方面最成体系的。推荐。原创 2015-08-24 13:41:39 · 698 阅读 · 0 评论