技术
文章平均质量分 77
n567656756765676567
这个作者很懒,什么都没留下…
展开
-
堆栈跟踪
C++语言的运行时环境是基于栈的环境,堆栈跟踪(trace stack)就是程序运行时能够跟踪并打印所调用的函数、变量及返回地址等,C++异常中的堆栈跟踪就是当程序抛出异常时,能够把导致抛出异常的语句所在的文件名和行号打印出来,以及把调用抛出异常的语句的函数以及其它上层函数信息都打印出来。1. 为什么需要堆栈跟踪 当你在开发程序时,你是否曾遇到过程序运行过程中突然当机,而你不知道转载 2012-04-08 23:11:53 · 2097 阅读 · 0 评论 -
共享内存映射2-理论
对于一些文件I/O密集型的应用,是否有一种区别于应用本身管理一片内存缓冲池这种相对非常复杂的程序结构的方法,而是直接利用操作系统提供文件—内存管理函数来有效地满足这类应用?Win32中内存映射文件的引入,将使以上的两个问题得到较好的解决,更使基于Win32编程的开发员们信心大增。本文将针对基于Win32编程中内存映射文件和对象的使用和管理进行如下几个方面的详细介绍:1. W转载 2013-08-21 11:52:43 · 5726 阅读 · 0 评论 -
临界区 互斥量 信号量 事 件的区别
四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section)保证在某一转载 2013-08-25 17:45:28 · 4636 阅读 · 0 评论 -
内存分配机制
在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序转载 2013-08-27 20:57:57 · 7993 阅读 · 0 评论 -
内存对齐
在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的 “管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解 更加底层的秘密,“内存对齐”对你就不应该再透明了。一、内存对齐的原因大部分的参考资料都是如是说的:1转载 2013-09-04 17:23:45 · 5321 阅读 · 0 评论 -
JPEG原理详细2
如06对应 Huffman 表的111000,那么 69 = (4,5) --- 1111111110011001 (69=0x45=4*16+5 ) 21 = (1,5) --- 11111110110 从而得到最后的结果: 111000 111001 ; 111000 101101 ; 1111111110011001 10111 ; 111111101转载 2013-09-05 14:42:13 · 6147 阅读 · 0 评论 -
计算机中的浮点数表示
根据IEEE 754标准,浮点数的表示形式如下: 其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。目前,计算机中主要使用三种形式的IEEE 754浮点数,如下表所示 在IEEE 754标准中,约定小数点左边隐含有一位,通常这位数就是1,因此单精度浮点数尾数的有效位数为24位,即尾数为1.xx...x。转载 2013-09-05 16:11:24 · 7345 阅读 · 0 评论 -
线程池——尚在研究
为什么需要线程池目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传 统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建,即 时销毁”的策略。尽管与创建进程相比,创建线程的时间已经原创 2013-09-14 16:00:31 · 5070 阅读 · 0 评论 -
内存映射文件原理探索
一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大转载 2013-08-22 09:03:19 · 5593 阅读 · 0 评论 -
RGB/YUV/M-JPEG
1、M-JPEG是什么?M-JPEG(Motion- Join Photographic Experts Group)技术即运动静止图像(或逐帧)压缩技术,广泛应用于非线性编辑领域可精确到帧编辑和多层图像处理,把运动的视频序列作为连续的静止图像来处理,这种压缩方式单独完整地压缩每一帧,在编辑过程中可随机存储每一帧,可进行精确到帧的编辑,此外M-JPEG的压缩和解压缩是对称的,可由相同的硬件和软原创 2013-10-12 16:54:28 · 12170 阅读 · 0 评论 -
共享内存映射
头文件:[cpp] view plaincopy/****************************************************************** ++ File Name : FFMClass.h ++ Description: 共享內存類 ----------------------转载 2013-08-21 11:49:06 · 8424 阅读 · 0 评论 -
VGA时序及其原理
显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显转载 2013-02-06 13:42:54 · 864 阅读 · 0 评论 -
内存的工作原理及时序介绍
内存的工作原理及时序介绍内存是PC配件中结构最简单的,但在BIOS中却是最难调的,很多玩家超频都卡在内存上。并且,内存的原理、结构与时序多年不会改变,无论将来内存技术如何进步,相信这篇文章的存在价值都不会打折扣。本文亦希望能通过对DRAM基本原理以及时序的介绍,在内存设置以及XMP的制作上有所帮助。>>>目录第一部分:工作原理DRAM基本组成内存转载 2013-02-06 14:52:03 · 8029 阅读 · 1 评论 -
基于S3C6410&WINCE6.0的LCD驱动详解
花了几天时间把6410的点屏代码研究了一下,这里分享出来供大家参考。 先大致说下目前LCD的类型以及渠道。针对手持设备,如手机,PMP,MID,GPS,UMPC,相机等,大多采用的是TFT,LTPS(低温多晶硅屏),OLED等。其中以TFT屏用的最广泛,LTPS屏以其色彩鲜艳,视角广而闻名,目前也逐渐多起来。OLED显示效果是以上三者中最好的,能够达到全视角,而且在阳光照射下也能转载 2013-02-06 14:59:35 · 6761 阅读 · 0 评论 -
wince 6.0 回调函数的理解
wince 6.0 回调函数的理解(转)什么是回调函数 回调函数,就是由你自己写的你需要调用另外一个函数,而这个函数的其中一个参数,就是你的这个回调函数名这样,系统在必要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完成你要做的事模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的fo转载 2013-02-06 15:19:23 · 6647 阅读 · 0 评论 -
wince 回调函数
声明此为网上的一个例子(不知作者),移植到WINCE下的。此实例实现:应用程序(TestDll) 定义一个回调函数OnReceiveData()把该函数指针赋给dll(DllAutoSend),然后调用Dll,让Dll发送一个信息,Dll发送完成后,回调OnReceiveData(),把信息用消息框弹出来。 一、新建 dll 工程: DllAutoSend1. 新建转载 2013-02-06 15:20:08 · 5634 阅读 · 0 评论 -
红外线式触摸屏
红外线式触摸屏 红外触摸屏的四边排布了红外发射管和红外接收管,它们一一对应形成横竖交叉的红外线矩阵。用户在触摸屏幕时,手指会挡住经过该位置的横竖两条红外线,控制器通过计算即可判断出触摸点的位置。 红外触摸屏也同样不受电流、电压和静电干扰,适宜于某些恶劣的环境。其主要优点是价格低廉、安装方便,可以用在各档次的计算机上。此外,由于没有电容充放电过程,响应速度比电容式快,但分辨率较低转载 2013-02-06 14:52:46 · 1642 阅读 · 0 评论 -
QT 布局管理
布局相关对象及简介窗体上的所有的控件必须有一个合适的尺寸和位置。Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QStackLayout。(布局管理类)这些类简单易用,无论在代码中还是用Qt Designer开发程序都能用到。1) 布局类简介QHBoxLayout:水平布局转载 2013-07-16 11:33:17 · 5463 阅读 · 0 评论 -
Platform Builder
上一章所说,当用PB的"定制平台向导"选取了一个平台的所有特征(feature)后,接下来的工作就是编译了。即使你从来未曾编译过,你也能想象得到编译的时间一定很长。因为PB是在编译一个操作系统,而非一个应用程序。当然,越快的硬件环境编译的速度就越快。一般我编译一个内核需要5分钟到10分钟之间。 在编译之前你可能还要对这个CE平台的某些特征进行修改。为此,你必须熟悉PB的操作环境。下面图1转载 2013-07-26 11:12:49 · 4946 阅读 · 0 评论 -
WINCE——部分文件说明
CEConfig.h Every Windows CE device has a file named CEConfig.h in the \Windows folder. This file can be used to conditionally compile code against different projects or SDKs. It can also be used to原创 2013-08-02 14:14:00 · 4908 阅读 · 0 评论 -
C标准库的setlocale()用法笔记
C 和 C++ 的标准库分别有自己的 locale 操作方法,C 标准库的 locale 设定函数是 setlocale(),而 C++ 标准库有 locale 类和流对象的 imbue() 方法。这篇是我自己的 setlocale() 使用总结。Linux的glibc中的setlocale()具体参考:man 3 setlocale头文件与声明如下:转载 2014-01-04 16:39:08 · 8978 阅读 · 0 评论