自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

Eclipse build Android时不生成apk问题解决方法

Eclisps有时build后不生成apk。没有对Eclise做过设置调整,android工程代码也是没有问题的。反正就是莫名奇妙的遇到两次,解决方法如下:1、设置:Preferences -> Android -> Build中有一项“Skip packaging and dexing until export or launch....”,去除勾选状态2、删除deb...

2012-05-19 12:48:00 209

关于android的sdk版本和分辨率

有一篇文章较好地说明了该问题:http://community-china.developer.motorola.com/t5/MOTODEV-%E5%8D%9A%E5%AE%A2/%E6%82%A8%E7%9A%84-Android-%E5%BA%94%E7%94%A8%E5%85%B7%E6%9C%89%E5%85%BC%E5%AE%B9%E5%90%97/ba-p/1616如果您还不熟悉...

2012-04-26 23:13:00 421

gcc宏展开

要把源代码中的宏展开,其实只要使用gcc进行预处理即可。gcc -E source.c >out.txt-E表示只进行预处理,不进行编译。预处理时会把注释当成空格处理掉,如果想保留其中的注释,可以加上-C选项,即:gcc -E -C source.c >out.txt我遇到的问题是宏里面的注释并没有保留下来。如#define generate_some_...

2012-04-24 20:08:00 452

GLSurfaceView

Android中用OpenGL开发图形应用,一般是使用GLSurfaceVIew来呈现。自己需要做的工作主要有两个:(1)从GLSurfaceView派生一个自己的类,在其中处理键盘、触摸等事件;(2)实现Renderer接口,在GLSurfaceView通过setRenderer使它们关联起来。Render接口如下:public void onDrawFrame(GL10 g...

2012-04-22 17:05:00 217

介绍GLSurfaceView

转自 http://www.linuxgraphics.cn/android/gallery3d_glsurfaceview.html重点有以下几点:1.派生GLSurfaceView来实现事件交互等2.GLSurfaceView提供了QueueEvent这个简单的方法来实现跨线程事件交互(UI线程和渲染线程)3.对于反应式的应用,可以使用GLSurfaceView....

2012-03-18 00:39:00 441

音乐舞蹈游戏-LGame

用LGame做了一个跳舞游戏,基本结构是移植一个j2me游戏的,不过很多东西还是需要完善。LGame适合于这种组件式的游戏,快速又方便。虽然移植它的时候,做了一个线程。如果用组件(Actor等)做,应该更快。感兴趣的童鞋可以试玩下哈 点击打开链接...

2012-03-15 23:33:00 106

LGame使用记

LGame (code.google.com/p/loon-simple)是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本,其实WindowsPhone C#版也很快就要出来了。说一下它的优缺点吧。优点是结构清晰,容易理解和上手,具有PC版和手机版,方便开发。特别是android版有兼容j2me的库,可以快速移植以前的j2me游戏。不足之处是LGame知名度不高...

2012-03-04 22:35:00 195

windows phone7 模拟器试用

下载了windows phone7 toolkit,安装包含了wp7开发所需的vs studio 2010 express, wp sdk, silverlignt sdk等,还是挺方便的。安装完后,打开windows phone emulator,启动很快(相对android来说)。进入wp7后,发现只有一个应用程序ie,怎么不像印象中的wp7呢,不是主屏幕有好几个tile的吗?点击右箭头,...

2012-02-26 22:54:00 168

Android OpenGL ES

都说android上没有一款好的游戏引擎,原因都说是硬件差异太大,编写游戏引擎时(一般用opengl es)不是所有的api都能用。这是真的吗?最近在android上使用opengl es时,确实发现兼容性要比自己想像中的差。写的程序在模拟器中运行正常,在真机中运行却有很多问题,有的时候直接死机,有的时候画出来是一片白色。例如:(1) glView.getHolder().setFor...

2012-01-07 00:40:00 104

android笔记3(surfaceview)

SurfaceView使用Surfaceview的好处是可以自己控制屏幕刷新,还不像一般的View是通过界面消息来进行屏幕更新的。这在游戏中特别有用,因为游戏需要实时的更新画面,以反映游戏进程。使用Surfaceview时,一般会开启一个线程,在线程中进行游戏逻辑和屏幕更新;一般需要实现SurfaceHolder.Callback接口,在surface创建时创建和启动线程,在sur...

2012-01-07 00:36:00 95

android快速遍历目录及查找文件

java中遍历目录,可以使用递归的方法: SearchFile(File[] files) { for (File file : files) { if (file.isDirectory())//若为目录则递归查找 { SearchFile(file.listFiles()); } else if (file.isFile...

2012-01-06 23:16:00 958

Android异步处理

在Android中,不能在主UI线程里处理耗时操作,否则会造成阻塞,时间过长时(超过5秒),甚至造成系统提示是否要kill该进程。(1)使用线程注意不能在非主UI线程中更新界面,有时需结合Handler使用.prgDialog = ProgressDialog.show(GbcJoy.this,"wait","data loading...", true);Thread th = ...

2012-01-04 21:38:00 107

GbcJoy - android上的GBC模拟器

看图先:GbcJoy是一个简单易用的GBC/GB游戏模拟器,支持声音、进度载入和保存、虚拟键盘、屏幕切换等. 重温儿时梦想,享受休闲时光.请帮助点击广告,支持个人软件。版本需求:android 2.1及以上下载:http://yunfile.com/ls/gbcjoy/使用方法:1. 安装新版软件时请先卸载旧的版本;2. 打开程序后,从文件列表中选择SD...

2012-01-01 00:52:00 200

ARM的工作模式

为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。Thumb不是一个完整的体系结构,不能指望处理器只执行Thumb指令...

2012-01-01 00:51:00 103

glTexSubImage

今天把一个使用OpenGL绘图的状态机搞定了。主要就是合并相同属性的图形,减少glDrawArrays的调用次数,以达到提高运行速度的目的。调试时,注意从简单到复杂。最简单的情形即是不合并图形,与原算法一致,如果这样都不正确,就先要查这个层次的问题。逐渐增加算法的复杂度,这样可以缩小每步中解决问题的难度。使用glTexSubImage可以只更新一部分纹理数据,减少调用glTexImage2...

2012-01-01 00:51:00 199

android - SoundPool

在android中,可以使用SoundPool来实现游戏音效。使用SoundPool的优点是异步线程,占用资源少,可以同时合成多种音效,因而比较适合于在游戏中使用,比如打斗声,效果声,按钮声等。用SoundPool载入和播放多个音效时,建议使用相同参数的声音文件(如位速,声道,采样率等),并且最好使用OGG格式,否则某些型号的手机可能会出现杂音,重复播放等问题。int streamVo...

2012-01-01 00:50:00 118

android opengl es

都说android上没有一款好的游戏引擎,原因都说是硬件差异太大,编写游戏引擎时(一般用opengl es)不是所有的api都能用。这是真的吗?最近在android上使用opengl es时,确实发现兼容性要比自己想像中的差。写的程序在模拟器中运行正常,在真机中运行却有很多问题,有的时候直接死机,有的时候画出来是一片白色。例如:(1) glView.getHolder().setFor...

2012-01-01 00:50:00 142

android笔记2(activity与view)

1. activity常用方法activity可以看作是一个应用程序或者任务或者进程。由于手机资源的限制,很多手机操作系统虽然支持多任务机制,但往往只支持一个任务在前台操作。即用户只能看到一个程序在前台运行,并占据了整个屏幕,如果需要切换到其它任务,需要先把当前的任务隐藏(切换到后台)。Android也是这样。1. onCreate在该函数中可以做一些初始化或者对象创建等工作。只在...

2012-01-01 00:50:00 134

android笔记1(activity与view)

1. activity, view概述进行android开发,只需具有java语言基础即可。入门的开发并不需要一些高深的java知识,如Swing,网络,线程,数据库等。刚开始进行android开发,会觉得android的架构设计得很好,接口简单,模块独立。特别是像我这种C++程序员来说,没有了框架自动添加的很多消息映射宏,窗口的启动,过多复杂的类等。如android应用程序的基本构成...

2012-01-01 00:49:00 150

OpenGL ES 关键API小结(转)

OPenGL ES常用API:glClearColor( 0.f, 0.f, 0.f, 1.f ); // 设置模式窗口的背景颜色,颜色采用的是RGBA值glViewport( 0, 0, iScreenWidth, iScreenHeight );//设置视口的大小以及位置,视口:也就是图形最终显示到屏幕的区域,前两个参数是视口的位置,后两个参数是视口的宽和长。glMat...

2012-01-01 00:49:00 109

(转)为什么要用补码表示

用补码的主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。n位计算机,设n=8, 所能表示的最大数是11111111,若再加1称为100000000(9位),但因只有8位,最高位1自然丢失。又回了00000000,所以8位二进制系统的模为2(8)。 在这样的系统中减法问题也可以化成加法问题,只需把...

2012-01-01 00:49:00 100

MIPS指令集(共31条)

网上有一份,但有错误,自己整理了一下。

2012-01-01 00:48:00 500

对Map按value进行排序

Map内部是按key进行排序的,而不是value。如果希望根据value对Map里面的元素对排序,可以通过把Map里面的元素拷贝到一个list中,然后定义自己的比较函数,并对该list进行排序。(1)首先,需要定义一个结构体,以用于封装Map中的元素对(key, value)。struct strTest{ char key[32]; //key示例 unsigned ...

2012-01-01 00:48:00 348

宏定义中的连接符##和#

1. C语言宏定义中的##用来连接符号可以用##来连接宏定义中的一个或多个变量。如#define file_open(filename_tag, filename, mode) \ FILE *filename_tag = fopen(filename, stdio_file_open_##mode)file_open(game_config_file, game_co...

2012-01-01 00:47:00 135

silverlight没落?

技术界一个爆炸性的新闻就是微软可能改变silverlight的战略方向,而主攻html5。微软技术的战略方向不明确一直为外界所诟病,也许只有桌面windows和office延续得比较好。开发语言方面曾经有的和现在继续有的包括VB,VB.NET,VBScript,foxpro,VC,C#,J#;数据库技术方面有ODBC,DAO,ADO,OLEDB,ADO.NET;用户界面技术方面有win32,M...

2012-01-01 00:47:00 154

how to build Mesa

(1) 资源准备:下载MesaDemos-7.8.2.tar.bz2,MesaGLUT-7.8.2.tar.bz2,MesaLib-7.8.2.tar.bz2,并解压在同一目录;(2) 编译mesa及OpenGL基本库:在Mesa-7.8.2\windows\VC8\mesa下,打开mesa.sln解决方案,直接build就可以了;在Mesa-7.8.2\windows\VC8\mesa\...

2012-01-01 00:47:00 149

用mesa模拟OpenGL 2.0

mesa是一个用软件实现OpenGL接口的开源图形库。即使你的显卡不支持OpenGL 2.0,也可以在它的帮助下,调试和运行需要OGL 2.0支持的程序。详细介绍和最新下载:http://www.mesa3d.org/由于需要调试使用了OpenGL ES2.0接口的程序,但自己的电脑显卡却是很旧的集显,不支持OpenGL 2.0,因此程序运行不起来。无奈之下只好想找一个可以软件模拟Open...

2012-01-01 00:45:00 1054

使用vs2005 express

就只是在windows平台上,也可能存在多个版本的项目,如vc6.0的,vs2005的,vs2008的。由于各种各样的原因,这些项目不能统一成一个版本的,这样麻烦的事情就多了。比如说某个项目用的是vc8的静态库,你就必须用vc8来继续开发了,用vc9虽然可以编译通过,但可能运行不起来,可能提示“由于应用程序配置不正确,未能启动该应用程序”。装了vs2008以后,不想再装一个vs2005。于是想...

2012-01-01 00:45:00 210

图像缩小算法

图像缩放的算法倒是挺多的,常见的有最近邻插值法、双线性插值法、三次卷积法等。其中双线性插值算法应该是应用比较广泛的一种方法,在缩放质量和速度上都比较折衷。在xnview里面选择双线性方法对一幅图像进行0.5倍的缩小,发现效果还可以。看了一下算法原理,实现起来也不算困难。可是用自己实现的方法对图像进行0.5倍的缩小时,却发现效果远没有xnview的效果好。商业软件就是做得好啊,难到它所用的双线性...

2012-01-01 00:44:00 2350 1

ppm图像格式

ppm是一种简单的图像格式,仅包含格式、图像宽高、bit数等信息和图像数据。 图像数据的保存格式可以用ASCII码,也可用二进制,下面只说说一种ppm格式中比较简单的一种:24位彩色、二进制保存的图像。文件头+rgb数据:P6\nwidth height\n255\nrgbrgb...其中P6表示ppm的这种格式;\n表示换行符;width和height表示图像的宽高,...

2012-01-01 00:44:00 312

用windows api写对话框

1. 通用对话框(打开文件)int OpenFileDlg(char* szFile , HWND hwnd){OPENFILENAME ofn; // 通用对话框结构// 初始化结构体 ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwnd; ...

2012-01-01 00:44:00 135

C#顺序读取文件流

有时需要在一个文件流中顺序的读取一段一段的数据,例如一帧一帧地读取图像,是非常有用的。打开文件:fStream = new System.IO.FileStream(fileName, FileMode.Open);fileLen = fStream.Length;//文件的长度curPos = 0;//记录文件指针当前的位置frameSize = imWidth*imHeig...

2012-01-01 00:43:00 259

write back和write through

为了保证cache和memory的数据一致性,通常有三种方法:1〉write through:CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。2〉post write:CPU更新cache数据时,把更新的数据写入到一个更新缓冲器,在合适的时候才对memory进行更新。这样可以提高ca...

2012-01-01 00:42:00 239

使用文件映射实现进程通信

使用文件映射实现进程通信是通过让两个或更多的进程映射同一文件映射对象的视图来实现的,也就是说它们共享着相同的物理存储页面。结果,当一个进程对在一个共享文件映射对象的视图中的数据进行写操作时,其它进程立刻在它们的视图中看到了改动。注意,对于多个进程共享一个文件映射对象,所有进程必须对该文件映射对象使用完全相同的名字。使用内存映射文件时,调用CreateFileMapping()创建文件。一旦...

2012-01-01 00:42:00 150

char*、WCHAR*、vc8中的CString

在vc6中喜欢用CString,因为它用起来方便,可以容易地进行字符串赋值,复制,格式化,甚至相加,然而到了vc8中,这些操作似乎都不能用了。连CString str = "Hello World!";都会报错。网上找了一下,原来是vc8下的应用程序默认支持unicode,采用的是宽字符集,因此一般的字符串需要加一些操作才能兼容了。CString内部即是采用wchar*来表示字符串的。如果是新...

2012-01-01 00:41:00 97

三角形填充

给定三角形的三个顶点,填充三角形,想来想去,竟然找不到这样的软件工具。就连matlab都没有提供这样的绘图功能。我有一组三角形的顶点坐标,想判断这些三角形是否可以完全拼合在一起。如果一个一个地去检查每个三角形的顶点坐标,那真不是人干的活。求人不如求已,干脆自己写一个windows程序吧,利用gdi来填充三角形。(1)读取三角形顶点坐标三角形的顶点坐标是如此保存在一个txt文件中的:24...

2012-01-01 00:41:00 504

函数原型的声明不可小视

在vc中,在调用一个函数之前,必须有该函数的声明(或定义),可能是包含在了头文件中,也可能是在源文件中进行了显式的声明。但在嵌入式编程中,在链接其它模块的函数时,往往不经过函数的声明,就可以调用其它模块的函数。如模块A定义了函数void moduleA_func(float x, float y),并生成了.a文件。此时,只要在makefile中指定了链接该.a文件,模块B就可以直接调用该函数...

2012-01-01 00:40:00 140

定点数转换

对浮点与定点的转换并不熟悉,只是用到一点点而已。1.浮点数转定点数在嵌入式程序中,浮点计算会占据大量的处理器资源,在满足一定的精度又不溢出的情况下,转换成定点数进行计算,将具有较大的性能提升。不管浮点数在机器内是如何表示的,基本上可以看成是由整数部分加小数部分组成的。假设需要b位的小数精度,转成定点数时乘以2^b即可,也即左移b位。示例:float x,y,z;x=12...

2012-01-01 00:35:00 413

SDL编程四(事件)

SDL中常用的事件类型为键盘和鼠标。SDL中描述事件的数据结构为SDL_Event,是一个union类型(SDL_events.h/SDL_Event),包含了keyboard,motion(mouse),resize等事件的定义。typedef union{Uint8 type;//SDL_EventTypeSDL_ActiveEvent active;SDL_Keybo...

2012-01-01 00:35:00 241

SDL编程三(音频)

SDL播放声音的基本流程如下:(1)创建一个回调函数用于混合音频数据,并放入音频流;(2)设置音频参数,调用SDL_OpenAudio,打开音频设备;(3)调用SDL_PauseAudio(0),进行音频回放;(4)回放结束后,调用SDL_CloseAudio() 关闭音频设备。下面是用SDL播放PCM音频数据的代码。全局数据:SDL_AudioSpec wante...

2012-01-01 00:33:00 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除