rainbowzc

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
  688 随笔 :: 2 文章 :: 0 评论 :: 142万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

06 2007 档案

摘要:SymbianOS使用的是面向对象的C++,但是又和标准的C++有一些区别。比如SymbianOS没有标准的异常处理 (Exception),因为设计SymbianOS的时候还C++还没有把异常处理标准化。所以Symbian设计了自己得异常处理机制: TRAP,leave.另外就是今天要讲的基本类型。Symbian基本上不使用任何标准的C++基本类型,众所周知,不同的C++编辑器对 int,unsignedint的长度理解不同,所以SymbianOS中使用TInt8,TInt16,TInt32。但是如果你么没有很好的理由是用某一特定的长度时,要使用TInt.其他很多类型也遵守这个原则。比如以后 阅读全文
posted @ 2007-06-28 10:55 ct 编辑

摘要:RVCT (ARM Real View Compilation Tools) is the compiler tools provided by ARM corporation. It can generate ABI (Application Binary Interface) V1 and V2 target versions. GCCE (GNU C Compiler Embedded) is a CSL ARM ToolChain included in UIQ SDK, which only supports ABI V2.RVCT has better performance th 阅读全文
posted @ 2007-06-28 10:49 ct 编辑

摘要:那天摄像时背景是雪白的墙,结果解码时问题出现了。问题现象: 解码的图像在墙壁部分有很明显的方块,其它图像变化大的地方(如人脸部分)情况还好。问题分析: 以前没有这种情况的呀。改变了的只有编码速率。原来为了兼顾网络状况,我们将码率降得比较低。码率小,量化的精度就低,宏块与宏块之间的量化误差变大。当颜色变化很平缓时,这种很小的误差就变得明显了,图像上的体现就是宏块边界出现明显的颜色跳变,也就是方块。问题解决: 还好mpeg4标准考虑到了这个现象,他们提供了一种叫deblock的解码后处理方法来弱化这种现象。实际将deblock添加后图像确实平滑许多,方块也没了。deblock原理: 大概做法就是将 阅读全文
posted @ 2007-06-27 22:48 ct 编辑

摘要:要做程序的优化,最彻底的方法当然是汇编!还有除了汇编以外(除了二进制)能让你对你的处理器有更全面的控制吗?!对于ARM汇编,作为一个初学者,也就只好先补补基础了@_@。 首先,程序段的定义从AREA 开始,它命名一个代码区域,注意,用非阿拉伯数字作为名字时,应该用|把名字包起来,CODE关键字声明程序(猜测),readonly声明访问权限(猜测)。EXPORT 来表示某个可以用作外部连接的符号(简单点,应该就是函数名?)。END用来结尾。#eg: AREA |.text|, CODE, READONLY EXPORT square ; int square(int i)square ;armc 阅读全文
posted @ 2007-06-27 22:47 ct 编辑

摘要:1.arm c编译器默认char类型是8位无符号的,与其它编译器有点不同2.局部变量最好用int型,因为寄存器是32位的,如果变量不是32位的就需要额外的指令限制范围. 例如:变量i,操作i++ ,如果int i, 则只需add r1,r1,#1 如果char i,则变成add r1,r1,#1 and r1,r1,0xff.多了一条指令3.循环最好用do{}while()型的,相比for(;;)型循环每次循环可以节省3条指令4.函数参数也最好用int 型的,例如 short add(short x,short y) 编译器为了保证输入参数的是short型的会添加额外的指令,比如确保x是sh. 阅读全文
posted @ 2007-06-27 22:46 ct 编辑

摘要:1.加减法,逻辑操作占一个周期,目的地址是PC寄存器时增加一个周期。分支指令占3个周期。在cache命中的情况下,16位和8位的装载指令(LDRH、LDRH等)占一个周期,但紧跟的2个周期不能使用装入的数据。32位装载指令占一个周期,紧跟的一个周期不能使用装载数据。如果装载入PC,同样要增加2个周期。 LDRr1,[r2] ADD r1,r1,r3ADD r4,r4,r5 占4个周期改变次序后 LDRr1,[r2] ADD r4,r4,r5ADD r1,r1,r3占3个周期2. load指令占时间比较长,在循环中可以使用预载的方法将load与跳转指令放在一起,减少流水线的断流。例如:loop 阅读全文
posted @ 2007-06-27 22:44 ct 编辑

摘要:大家知道MOBIL5.0开始,EVC4开发的工程就无法进行DEBUG了,而必须使用VS.NET2005中的VC++来实现。但是以前我们费了很大心力做成的项目,也不能重新来写。今天通过一上午的研究,将转化方法贴出来和大家共勉。这里我们以DIALOGBASED工程为例。首先用EVC4建立一个DIALOGBASED的POCKETPC2003工程。此工程名我们暂定为TXDEMO。我们也可以在对话框放置一个BUTTON,在单击事件里,添加AfxMessageBox(L”Test”);以便升级到VS.NET2005后,测试资源对应情况。此时,保存TXDEMO工程,并关闭掉EVC4开发工具。此时用VS.NE 阅读全文
posted @ 2007-06-27 09:28 ct 编辑

摘要:bool cinplacelist::pretranslatemessage(msg* pmsg) { if( pmsg->message == wm_keydown ) { if(pmsg->wparam == vk_return || pmsg->wparam == vk_escape ) { ::translatemessage(pmsg); ::dispatchmessage(pmsg); return true; // do not process further } } return ccombobox::pretranslatemessag... 阅读全文
posted @ 2007-06-16 13:31 ct 编辑

摘要:转自:http://www.uumbbs.com/show_topic.aspx?topicid=2368&forumid=208#Header1.表头控制 Header Control2.图像列表控制 Image List3.列表控制和视 List Control&List View4.树控制和视 Tree Control&Tree View5.标签控制和视 Tab Control&Tab View6.工具条控制 Toolbar Control7.进度条控制 Progress Control8.滑动条控制 Slider Control9.旋转按钮控制 Spin 阅读全文
posted @ 2007-06-12 13:37 ct 编辑

摘要:总结这段时间科研过程中的学习到的一些知识和小技巧。1。关于SendMessage发送CString的问题方法1:Send: CString *str = new CString ("aaa"); hwnd->SendMessage(WM_USER,0,(LPARAM)str);Recv: void myproc(.......) //自定义消息处理函数{ CString *pstr = (CString*)lparam; ....... delete pstr; //注意此处要删除前面send处new出来的CString }方法2:CString s="aa 阅读全文
posted @ 2007-06-10 18:33 ct 编辑

摘要:在“E:/兴辉俊武/vc++学习笔记/动画图片操作/JPG图像加载及超连接”定义了所需的类 CPictureCtrl使你可以在任何对话框或窗口中把图像作为子窗口显示。 例如:关于对话框中加载IDC_MYIMAGE图像 classCAboutDialog:publicCDialog{ protected: CPictureCtrlm_wndPict; virtualBOOLOnInitDialog(); }; BOOLCAboutDialog::OnInitDialog() { m_wndPict.SubclassDlgItem(IDC_MYIMAGE,this);//I... 阅读全文
posted @ 2007-06-10 16:19 ct 编辑

摘要:经常有朋友问雷神这样的问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同?雷神在这里一并解答一下吧。OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows回发送两个消息WM_PAINT(通知客户区有变化)和WM_NCPAINT(通知非客户区有变化)。非客户区的重画系统自己搞定了,而客户区的重画需要我们自己来完成。这就需要OnDraw()或OnPaint()来重画窗口。OnDraw()和OnPaint() 阅读全文
posted @ 2007-06-10 14:45 ct 编辑

摘要:Visual Studio 2005中配置Windows Mobile 5.0开发环境Visual Studio 2005无疑是开发Windows Mobile的最佳工具,其本身就集成了Windows Mobile开发环境,.Net Compact Framework也同时升级到了2.0,只是它自身所带的模拟器是Windows CE 2003的,有些落后时代了,呵呵。 本文就软件的安装和配置做一个简单介绍。 测试环境: WindowsXP+SP2 Microsoft Visual Studio 2005+SP1 安装的软件包: Microsoft ActiveSync 4.2 Windows 阅读全文
posted @ 2007-06-08 17:45 ct 编辑

摘要:自上星期以来,开始系统化的学习Windows Mobile 5.0,希望通过系统化的学习,能够掌握移动开发。Mobile 5.0开发配置:软件安装顺序:1.安装Microsoft ActiveSync 4.0以上版本2.安装VS2005开发Pocket PC需安装Windows Mobile 5.0 Pocket PC SDK开发Smartphone需安装Windows Mobile 5.0 Smartphone SDKMobile 5.0环境配置:1.模拟器与Microsoft ActiveSync同步:A.启动VS2005,在Tools->Device Emulator Manage 阅读全文
posted @ 2007-06-08 17:44 ct 编辑

摘要:typedef struct _THREAD_INFO { LARGE_INTEGER CreateTime; DWORD dwUnknown1; DWORD dwStartAddress; DWORD StartEIP; DWORD dwOwnerPID; DWORD dwThreadId; DWORD dwCurrentPriority; DWORD dwBasePriority; DWORD dwContextSwitches; DWORD Unknown; DWORD WaitReason; }THREA... 阅读全文
posted @ 2007-06-07 15:36 ct 编辑

摘要:本文章地址:http://www.jztop.com/dev/vc/2006-02-27/12460.html [点此复制地址] 昨天在论坛上,有人问起双缓冲的实现问题,想起网上这方面资料比较凌乱,而且多是 DirectX 相关的,今天特地在这里给大家简要的介绍一下双缓冲技术及其在 VC++ 的 GDI 绘图环境下的实现。 1、Windows 绘图原理 我们在 Windows 环境下看到各种元素,如菜单、按钮、窗口、图像,从根本上说,都是“画”出来的。这时的屏幕,就相当于一块黑板,而 Windows 下的各种 GDI 要素,如画笔、画刷等,就相当于彩色粉笔了。我们在黑板上手工画图时,是一... 阅读全文
posted @ 2007-06-06 14:40 ct 编辑

摘要:小结:主要的思想是,如果要显示图形,直接把该图形当作一个document,在改写document的时候,实际上就是改写这个位图。然后在View中显示的时候,直接把这个位图显示出来就可以了。这需要两个DC,一个DC是台面上的显示用的,一个DC是在内存中绘图用的。两者的关联点就在于这个bitmap对象。需要明确几个概念,由于MFC的类封装了windows对象,所以由MFC类创建出来的对象就叫做“实例”,以与windows“对象”区分开来。document/view的经典办法是将图形的数据存储在document类里面,view类只是根据这些数据绘图。比如你要画个圆,只是将圆心和半径存在documen 阅读全文
posted @ 2007-06-06 14:12 ct 编辑

摘要:显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这. 阅读全文
posted @ 2007-06-06 13:56 ct 编辑

摘要:专栏作品利用GDI+的双缓冲技术来提高绘图效率卢彦 前言进入.NET时代,Windows的绘图技术也从GDI升级到了GDI+,从名字就能知道GDI+是对以前传统GDI绘图技术的一次升级,不过在微软几乎把所有的新技术都冠之.NET的情况下,GDI+竟然不叫做GDI.NET,还真让我感到有点意外了。 :)GDI+在一种与设备无关的环境下提供了一套统一的绘图编程模型,极大的提高了Windows绘图编程的方便性,我们再也不用创建什么各种各样复杂的设备环境了,说实话,我现在想起来都头疼。题归正传,关于如何进行GDI+的基本编程,我不能过多的加以描述,如果有对此概念还不太清楚的朋友,建议先去了解一下相关的 阅读全文
posted @ 2007-06-06 13:54 ct 编辑

点击右上角即可分享
微信分享提示