C++
lionghua
这个作者很懒,什么都没留下…
展开
-
图像处理
Dither的原理讲抖动算法,一般都会提到图案法。图案法 (patterning) 是指灰度可以用一定比例的黑白点组成的区域表示,从而达到整体图象的灰度感。黑白点的位置选择称为图案化。先岔开说说分辨率,计算机显示器,打印机,扫描仪等设备的一个重要指标就是分辨率,单位是 dpi(dot per inch) ,即每英寸点数,点数越多,分辨率就越高,图象就越清晰。原创 2013-09-18 10:31:39 · 676 阅读 · 0 评论 -
main函数的调用
在C和C++中是不同的,我们知道C语言比较宽松、灵活,而C++的目标就是改变C语言比较宽松的特点,实行了比较严格的做法,包括严格的类型检查等等。实际上,在C语言中,main函数可被递归调用,而在C++标准中,main函数不可以被递归调用。C中递归调用: (参考:http://blog.csdn.net/songkexin/article/details/1842654#reply)转载 2014-04-28 14:02:39 · 2743 阅读 · 0 评论 -
VC中线程的创建
作中我们经常会遇到要建立多个线程,以此方便于我们可以同时执行多个事件。这也是我们在VC开发中的一项基础,虽然我曾多次用到,但也会常常忘记。这次记下来,作为一个笔记,为大家学习提供方便。 在VC中,无非是创建线程和写线程函数 一、常规方法:纯使用Platform SDKAPI.1, 创建线程: #include 在MFC中通常在OnInitDialog()下面创建线程 /转载 2014-07-01 13:20:05 · 466 阅读 · 0 评论 -
C++ 中预处理Pragma的理解
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的转载 2014-08-07 10:30:44 · 507 阅读 · 0 评论 -
DLL中内存的分配释放
内存的分配和释放不是由相同的堆管理程序完成的。动态链接库中的堆在默认情况下是由msvcrt.dll中的堆管理程序管理的 (以动态链接的方式),而exe程序的堆在默认情况下是由程序自己的代码管理(以静态链接的方式),由于它们的堆管理程序不同,当动态链接库分配的内存在 exe程序中释放时就会出错,因为exe程序所在的堆并没有分配这块内存,而你却要求它释放这块内存。 将程序中所有的模块都链原创 2014-08-19 13:51:05 · 827 阅读 · 1 评论 -
C++ _stdcall和__stdcall的区别
今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别; #define CALLBACK __stdcall#define WINAPI __stdcall#defi转载 2014-08-07 11:38:09 · 9280 阅读 · 0 评论 -
C++ overload 、override、overwrite 之间的区别
Overload、Overwrite和Override的概念比较容易混淆,而且Overwrite和Override的中文翻译五花八门,让人很Confuse,顾保持英文原意:Overload 重载在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不转载 2014-08-06 18:20:07 · 453 阅读 · 0 评论