- 博客(39)
- 收藏
- 关注
转载 struct和class,以及abstract class和interface的区别
struct和class的区别 Struct`Class地址分配栈堆效率高低适合对象小大而复杂类型值类型引用类型拷贝时创建新结构复制引用继承性不可继承与被继承可继承,可自定义(sealed)abstract class和interfa
2011-11-03 14:54:46
391
原创 一个相对通用的Makefile
写一份拷贝放这,供参考。CC=g++CFLAGS=-g -cDFLAGS=-lpthreadSRC=${shell ls *.cpp}OBJ=${SRC:%.cpp=%.o}BIN=test.PHONY: ${BIN} ${OBJ} clean${BIN}: ${OBJ} ${CC} ${DFLAGS} -o ${BIN} ${OBJ}$
2009-07-31 09:24:00
1871
原创 Linux的一些基本网络配置和问题解决
转眼都快三年没写博客了,唉,光阴过的很快。 生活还得继续,还得加油,还得坚持。呵呵。 ----- 在自己家的台式机中装了个红帽的虚拟机。Vmdk是从Emule上拖下来的,什么也没有,gcc都没有。罢了,先把网络配好吧。 1. sshd 运行chkconfig --list,发现有sshd。还好,启动我的putty。发现怎么也连不上。提示:network
2009-07-24 21:13:00
1907
原创 Book: Complexity Theory: A Modern Approach
Website: http://www.cs.princeton.edu/theory/complexity/This book is to be published. Its authors are Sanjeev Arora and Boaz Barak, two famous computer scientist in princeton university. I was re
2006-11-15 12:59:00
2698
转载 量子计算机
武强 量子力学和计算机这两个看似互不相干的理论,其结合却产生了一门也许会从根本上影响人类未来发展的新兴学科——量子信息学,通常人们通俗地称之为“量子计算机”。本文将简要的介绍量子信息理论的基本概念和历史背景,量子计算机的研究进展,及对这一学科未来发展前景的展望。 在介绍量子信息论的专业知识之前,先谈谈量子计算机的提出及其产生过程。众所周知,20世纪后半页计
2006-10-23 15:23:00
1077
原创 summation of theoretical computer science
It is already one year since I began to study the computation theory. I regretted very much that I didn’t try my best to work on it. Therefore, the element knowledge of mine on this aspect is extr
2006-10-19 19:07:00
732
原创 如何手动构建一个COM
简单的说,COM比之DLL的优势在于.给定一个COM,即便程序员不知道COM导出了什么样的符号,他依然可以使用它.而DLL则不能.这就是为什么在WORD里可以引用EXECL电子文档的原因.COM的出现有它的必然性,它的前身就是OLE技术.在本质上说,COM与DLL并无区别,但是在结构上,COM有标准,而DLL则没有.所以,程序员可以根据这些标准使用COM.这里我讲一讲如何手动的构建一个COM
2006-09-19 15:03:00
1058
1
原创 P与NP问题
当我们遇到一个问题时,我们总是很自然的开始恩考求解这个问题的算法.我们大多数人都没有注意到问题本身的可解性.其实很多问题很难想出一种有效算法的,当然,遍历算法除外.如果我们有一台超强的计算机,那么一切算法都是没有意义的,因为一切问题都可以用遍历来解.算法的效率其实正是体现在问题的大规模输入上,所以,我们在比较算法的好坏时,通常考虑它在大规模输入时的运行时间,占用空间等.P与NP问题正是源
2006-05-25 11:11:00
4921
1
原创 重温一下各种排序算法
最近打算用一些并发的模型研究一下排序算法.所以,我首先回顾了一下各种排序算法,并将它们用C语言实现了.冒泡排序基本思想:先取第一个元素,将它与后面n-1个元素比较,将n个元素中最小的移到首部.接着,忽略第一个元素,取第二个元素,将它与后面的n-2个元素比较,将n-1个元素中最小的移到位置2.依此类推,直至第n个元素.1.list->r[1..n]2.for i:1 to n do3
2006-03-24 20:26:00
1693
3
原创 用CLIPS模拟P-System.
这两天我用CLIPS模拟了一个简单的P-System实例。即计算n的平方的P-System。下面是模拟的一些思路及代码。事实上,用CLIPS模拟文法类的规则是相对简单的,因为CLIPS本身就是专家系统,而专家系统就是一些规则跟知识库。但是,写过一些CLIPS程序后,我才发现这种简单也是相对的。因为对于一个写惯诸如C语言等命令式语言的人来说,CLIPS缺少了变量,循环等经典操作,如果这一思想没转
2006-03-22 09:39:00
1702
7
原创 CLIPS的使用
CLIPS是一个专家系统,它用C语言编定。全称是The C Language Integrated Production System.它可以应用到很多的系统上,如Microsoft Windows,Macintosh,VAX 11/780等。事实上,由于CLIPS由C语言编写,所以理论上,只要有C语言的编绎器,我们可以将CLIPS移值到任何的系统上。专家系统是将某领域专家们的知识与经验
2006-03-10 13:08:00
4019
4
原创 关于专家系统
专家系统的由来及用途专家系统(Expert System),故名思意,它是一个像专家一样的系统。可以想像在社会的各个领域存在着这样那样的专家。他们有的是医学专家,能够诊断各式各样的疾病;有的是农业专家,能够分析不同的农作物是否适合种植于不同的土地上。那么,通过模仿这些专家,我们是否能构造出相应的系统,它们也能够分析并解决某一领域的相关问题呢?于是,专家系统产生了。专家系统的用途广泛,像上面
2006-03-07 22:00:00
1486
原创 真正的随机是什么?(续)
这几天我一直想找一些关于随机的资料,不过很可惜,我始终没有找到一些专门介绍随机的文章。不过,每天我都会抽些时间来思考一下到底随机是什么。以下我记录一下这几天我的思考。随机到底是一种人类认知的局限,还是一种客观的存在?这是我这几天一直想的问题。事实上,这世界上的一切事物,用哲学上的一句话来说就是“存在即合理”。那么,任何一件我们称之为随机的事件,它必定是有它存在的理由,或者说,发生的条件。因此,
2006-03-03 12:16:00
1010
2
原创 Lib、DLL、COM、.Net的理解
坦白的说,作为一个学生,我们的编程、项目开发能力肯定没有那些在公司里的软件工程师强。但是,确切的说,我们的Potential未必比他们差。很多我的师弟都问我,研究生比之本科毕业后参加工作的人,难道他们的优势不是在于项目经验吗?当然,我这里仅指我学的计算机专业来说。以我个人的观点,我认为这种想法是错误的。如果我们读研究生是来做项目,那还真不如参加工作,做个软件工程师划算。技术上的事,归根到底也是一个
2006-02-26 14:01:00
1519
2
原创 真正的随机是什么?
今天的算法课上,老师提到了计算机中的随机数。他说计算机中的随机数并不是真正意义上的随机,而是伪随机数,即这个随机数必须要以一个种子做为输入,比如说C语言中的random()函数,它事实上是以系统时间为输入种子,通过相关的运算产生的数,如果输入的种子相同,那么产生的随机数序列是一样的。我当时在思考,什么是真正的随机?随机性一般有两种内涵:事件的因果链彻底消失;事件不可预测。这是我找到的关于随机的
2006-02-21 18:53:00
2285
5
原创 关于位图大小的计算方式。
上两周在做数字图像处理大作业时碰到一个问题。我想自己在内存中构造一幅24位的bmp位图,那么应该是54个字节的位图头加上后面Width*Height*3个字节的位图数据(24位图没有调色板信息),但是我将构造的数据存入文件后,文件就是显示不出来。我用“画图”构造一幅Width*Height的位图,存入文件后,发现文件比我构造的数据多出来很多字节,而且这个字节是不定的。查了下资料,把原因写下来:在计
2005-12-28 00:03:00
3865
转载 图灵机与计算问题(转载)
图灵机与计算问题 张江(email: jakezj@163.com) 自从20世纪30年代以来,图灵机、计算这些重要的概念在科学的天空中就一直闪烁着无限的光彩。尤其是近年来量子计算机、生物计算机、DNA计算等领域的创新工作引起了世人的广泛关注。我们不禁问这样的问题,国外究竟为什么能发明出这些各式各样的计算机呢?这些意味着什么呢?其实这一切的源头都来源于计算理论。国内在介绍计算理论方面的教材虽然有不
2005-11-03 09:27:00
2917
原创 logix的学习和一些想法
目前我要做的一个项目是关于怎样将BioSpi语言转化成可在logix下可编绎运行的程序。BioSpi是一个并发的用于描述生物反应的语言,目前我对它的了解不深,正在搜集资料,估计资料收全后会做一些相关介绍。这里讲一讲这几天对logix的学习。Logix是一个用FCP(Flat Concurrent Prolog)语言写成的并发系统(也可以说一个编程环境),在它上面可以并发的运行程序。CP(Concu
2005-10-20 11:50:00
1246
1
原创 并行理论的学习和一些想法
来交大也有一段日子了。说实话,前段时间有些彷徨。总觉得研究生压力比本科时候大很多,重负之下不禁有所解怠。到今天为止,我仍是慢慢在寻找感觉。但是,欲速则不达,心中所想所感,让时间去慢慢证明吧。这篇文章,我不打算谈什么高深的技术问题,只希望谈谈自己这一个月来学习的感想。所以在写作时我不会参考任何资料,只写写自己的学习心得吧。如果现在有人问我什么叫并行理论,我可以很负责任的告诉你,我不知道。并不是我没有
2005-10-13 11:08:00
1188
原创 博奕论初探
博弈论可以广泛的应用于包括政治、经济以及军事等各个领域。与此同时,它也可应用于计算机软件理论领域,衍生出很多出色的算法。这里我对博弈论做了一些初步的了解和学习。1 什么是博弈论在说明博弈论的概念之前,我首先给出一个书中的例子,它的名字叫做共同投资问题。 设想有两位投资者,共同投资一个较大的项目,他们可以获得较大的回报。如果他们俩至少有一个抽出资金用于一个小项目投资,他肯定可以获得相应
2005-07-25 10:48:00
1459
1
原创 MPEG-4编解码学习.
基本上来说,如果在计算机的世界中没有压缩编码这个概念..那么我们今天接触到的多媒体技术几乎是不可能实现的.因为纯粹的多媒体数据包含的信息量是很大的,以现行的存储容量跟本不可能承载如此大的信息量.编解码这个概念在多媒体的应用中很直观.它的目的在于最大限度的降低多媒体数据的体积,同时尽可能的保存更多的信息量.编解码这个概念并非旦生于多媒体技术中.事实上,很早以前,人们就经常采用编解码的思想来解决实际问
2005-06-06 22:38:00
3933
原创 怎样改变DirectShow中采集的视频大小.
在利用Directshow采集视频的过程中,一般初始化时我们要给Capture Graph视频参数..比如它的长和宽,亮度什么的...当然,如果你什么都不给,DirectShow会为你分配一个系统默认的值..这里介绍如何在初始化时改变采集的视频的长和宽..1.定义IAMStreamConfig InterfaceIAMStreamConfig *pConfig;2.初始化IAMStreamConf
2005-05-17 19:31:00
3789
原创 To Learn The Process Algebra
For me, the software theory is really complicated at present, just because I have not touched such a subject before. What I have studied in the past is the engineering, which in fact, is always teachi
2005-04-29 15:41:00
926
1
原创 A Calculus of Mobile Processes - Note(2)
The calculusWe presuppose an infinite set N of names, and let u,v,w,x,y,z range over names. We also presuppose a set K of agent identifiers, each with an arity – an integer ≥ 0. We let A, B, C … range
2005-04-26 14:36:00
713
原创 A Calculus of Mobile Processes – Note (1)
Abstract and IntroductionAbstract: We present the π-calculus, a calculus of communicating systems in which one can naturally express processes which have changing structure. Not only may the component
2005-04-25 16:09:00
1010
原创 提取DirectShow中视频采集的数据.
DirectShow中,数据流(Data Flow)都是依次流过各个Filter的.它对数据的管理也有自己的方法,而且并没有向用户提供一个统一的接口,供用户操作数据流.这里以提取视频采集在的每帧为位图数据为例,说说如何在Directshow中提取数据.这里我们用到了DirectShow提供给我们的接口ISampleGrabber,并定义了一个供它回调的CSampleGrabberCB对象(继承IS
2005-04-17 22:52:00
3266
1
原创 用CFindFile遍历目录.
OS:WIN32(not support WINCE)SDK:MFC代码如下:CFileFind ff; CString szDir = m_nFilePath; //m_nFilePath为用户选择的一个目录 if(szDir.Right(1) != "//") //确保目录最后一个字符为/ szDir += "//"; szDir += "*.*"; BO
2005-04-12 21:19:00
5465
原创 将DirectShow采集的视频在任意窗口显示.
用DirectShow构建ICaptureGraphBuilder图表后,可以正确的采集视频.但是,一般情况下,视频都是显示在一个系统自动弹出的对话框中,下面介绍了如何将采集的视频显示在任意窗口中.这里以显示到一个CStatic(即一个Rectangle)上为例.(运用了IVideoWindow Interface)在建好Video Capture Filter Graph后,我们只须调用IMed
2005-04-09 21:22:00
2527
1
原创 用DirectShow实现视频采集
DirectShow作为DirectX的一个子集,它为用户提供了强大、方便的多媒体开接口,并且它拥有直接操作硬件的能力,这使得它的效率远胜于用GDI等图形方式编写的多媒体程序。前面一篇文章已经对DirectShow作了粗略的介绍,阐述了它的原理及一些编程方法。这里结合实践中运用DirectShow实现视频采集(WIN32)来加深对DirectShow的理解和操作能力。1.系统环境及开发环境 l
2005-03-27 15:06:00
10513
2
原创 DirectShow初探
可能到现在为止,还没有哪个玩过游戏的人没有接触过Microsoft的DirectX的。因为现今大多数的游戏都是用DirectX开发出来的。相比之下,DirectShow只是DirectX的一个子集。DirectX中还包括DirectSound、Direct3D等集合。DirectShow主要用来处理一些与音视频有关的多媒体任务,比如音视频采集、回放等。过年回来后,在一个项目中要求在WIN32下采集
2005-03-10 22:26:00
3291
2
原创 嵌入式图形用户界面的改进
嵌入式图形用户界面的改进 摘要: 介绍嵌入式图形用户界面(GUI)的定制和改进。 关键字: 嵌入式系统、图形用户界面,Qtopia。 Abstract: The customization and improvement of the Embedded System’s GUI are introduced. Key words: Embedded Syste
2005-01-24 19:57:00
1476
原创 QT中的SOCKET编程
操作系统:ARM-LINUXQT版本:QT-2.3.2-FOR-LINUXGUI:Qtopia在LINUX下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人往往容易犯这样那样的错误。QT中提供的SOCKET完全使用了类的封装机制,使用户不需要接触底层的各种结构体操作。而且它采用QT本身的signal-slot机制,使编
2005-01-22 11:59:00
12509
原创 QT截取屏幕的实现.
操作系统:ARM-LINUX图形用户界面:Qtopia图形开发库:QTQtopia是Trolltech公司面向嵌入式Linux的综合应用平台。Qtopia包含完整的应用层、灵活的用户界面、窗口操作、应用程序启动程序以及开发框架。另外Qtopia基于QT/Embedded的C++类库,拥有统一的应用程序编程接口,支持多任务管理,实用性强。Qt是Trolltech公司开发的一个多平台的C++图形用户界
2005-01-19 20:51:00
3566
1
原创 浅谈EVC中文字符串操作
EVC在某种意义上说,相当于VC的一个子集。因为大多EVC有的功能,VC也具备,而VC有的功能,EVC则不一定拥有。在VC中,操作字符串很方便,因为WINDOWS的字处理能力实在是很强大,它支持多种字符集。我们随便使用一个CString str=“你好”,就要以输入我们想要的中文字符串。在EVC中这种情况有所改变,因为WINCE的字处理能力不够强大,它在处理汉字里统一将它示为UNICODE编码,所
2005-01-11 20:50:00
1309
原创 用VC实现自定义LISTBOX控件
下午在用EVC在ARM开发板上开发应用程序,需要将LISTBOX控件上的项目放大显示,我先用VC模拟出来,但是很不幸,EVC上LISTBOX不支持OWNER DRAW。不过还好,总算在VC上做了点东西,下面把过程记录下来:1、在对话框中添加一个LISTBOX控件,将其属性改为“FIXED”(属性说明请参阅MSDN)。2、建立一个断承CListBox的类CCustomListBox,重载(Overr
2005-01-10 21:19:00
4106
1
原创 WIN32音频数据采集---WaveIn-Out实现
基本步骤及思想:设定音频采集参数(采样率、声道等),打开音频设备和开辟缓存,操作采集的数据。1. 定义音频采集参数 WAVEFORMATEX waveform;//WAVE波形的采集参数typedef struct { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD n
2005-01-09 20:19:00
2251
原创 QT中的signal和slot
QT中signal和slot的理解QT中的signal相当于WIN32编程里的消息,slot则相当于WIN32编程里接收消息的函数。QT中某个对象在特定条件下发出signal,通过connect的关联,某个响应函数(slot)接收这个信号并进行相应的处理。QT中signal与slot的应用以一个按钮OK为例,点击它将弹出一个与有hello,world字样的窗口。原理:鼠标点击按钮范围,
2005-01-09 20:06:00
2501
原创 arm-linux交叉编绎环境
1、不同体系结构下的应用程序是不能互相跨平台运行的,比如在X86下编写的程序,如果用X86的编绎器编绎链接,就不能运行在arm体系结构的系统上。2、arm-linux是一个可以运行在arm体系结构系统上的linux操作系统,一般我们可以把它放在arm体系结构的嵌入式系统上运行。3、在开发嵌入式平台应用程序时,为节省资源,一般不直接在嵌入式平台上安装编绎器,而是在资源相对丰富的X86-PC机上安装a
2005-01-09 19:58:00
1433
原创 IE网页文本采集的实现
前不久,有人在论坛上求一个能够自动完成网页文本采集的软件。具体功能是,当用户选择网页中的一段文本时,单击鼠标右键,则会在右键菜单中看到“保存为文本文件”的选项,这篇文章讲一讲我实现的这个小软件的技术及思想。该软件涉及到的技术有:1、IE编程,主要是如何将右键菜单嵌入到IE右键菜单里去。2、COM(组件对象模型)编程。3、VB脚本编程。实现该软件的基本思想及流程:1、向系统注册一个COM组件,该组件
2005-01-09 19:27:00
1319
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人