2010

[ZT]WIPI为何

原文:http://blog.csdn.net/flowingflying/archive/2010/08/12/5807527.aspx

下午有个厂家介绍Wipi,开始还以为是wifi或者wapi之类的,但是这是韩国人推动的一个移动平台,在wiki上如下介绍,但是具体沟通后,发现wiki的说法也有错漏。Wifi is C based not java based.而这个是wipi的特性,但我问他们与流行的平台相比有什么特别时,这是一个重要的说辞。

Continue reading…

Android中用MediaPlayer播放ogg的loop问题

经测试(2.1真机)发现使用MediaPlayer播放ogg音乐文件时的貌似无效,翻了一下google论坛发现是个undocumented问题,实际影响loop的是ogg中的一个metadata:ANDROID_LOOP,当这个被设为true的时候,无论怎么设置player的loop都不会有不loop的结果,记录一下。

Visual Studio下的C++程序断点windows api调试的方法

就当是个记录吧,收藏夹多了也不好找。
以前抄过一个利用dbghelp api来进行release版调试跟踪的工具类,就是当release版exe在客户机上异常后记录堆栈,局部变量,寄存器值等的东西。突然发现一个小问题需要断点调试检查,但发现这个在挂着调试器的时候就不起作用了,google发现这篇文章:
http://www.debuginfo.com/articles/debugfilters.html
大概意思看明白了,结果文中提到的下windows api断点的部分不知道怎么做,继续google发现MSDN上有大致说明:
http://msdn.microsoft.com/en-us/library/d16ayc6z.aspx
手动添加断点的location要这样:{,,USER32.DLL}_MessageBeep@4,用起来还是比较麻烦的,因为还要涉及到api的dll中导出decorated name,不过至少是能用了,知足常乐。
PS:注意这个提到的是32bit系统下,而且调试时需要导入这些加在的系统dll的调试符号,好在发现VS2010有个Load symbols from microsoft symbol servers,虽然下载慢了点不过还是挺方便的。

支持C++标准库的Android NDK CrystaX!

最近在研究Box2D物理引擎在Android上的应用时,发现直接用NDK移植C++版本时遇到了一些STL库的问题,类似b2BroadPhase.h中的:
// Sort the pair buffer to expose duplicates.
std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan);
这里,其它地方通过直接替换标准c函数还好解决,这种需要STL库的用法就不好办了。在Box2D的论坛上发现有人提到有个叫CrystaX的第三方版本的NDK,整合了C++标准库,可以直接在不修改任何源码的情况下编译Box2D!
下载地址:http://www.crystax.net/android/ndk.php

HTC Legend G6的恢复出厂设置方法

在Legend上用电子市场(Android Market)下载软件的时候误绑了Google Account,想删掉,结果发现提示什么有程序正在使用这个账号只能通过恢复出厂设置的方式清除。网上有朋友说可以通过清除应用程序管理里Google企业应用套件的保存数据的方式做到,结果发现这个G6的Google App里根本没有提到的清除选项,无奈只好恢复出厂设置,结果执行了之后一直卡在 正在重启 这个弹板这里,仔细看了一下后面好像有个什么对话框弹出来,但焦点已经被锁定了看不清后面到底提示的什么。最后在htc官网上找到了通过重启机器进类似bios的东西清掉的方法:
Performing a factory reset using phone buttons
If you cannot turn on your phone or access the phone settings, you can still perform a factory reset by using the buttons on the phone.

With the phone turned off, press and hold the VOLUME DOWN button, and then briefly press the POWER button.
Wait for the screen with the three Android images to appear, and then release the VOLUME DOWN button..
Press VOLUME DOWN to select CLEAR STORAGE, and then press POWER.
Press VOLUME UP to start the factory reset.

[ZT]简单内存泄漏检测方法,解决Detected memory leaks!问题

原文地址:http://hi.baidu.com/v71000/blog/item/414437de599dfed58c102929.html

工作环境:WIN7,VS2005:

最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。

Detected memory leaks!
Dumping objects ->
{1654} normal block at 0x01CC1B28, 40 bytes long.
Data: 54 00 69 00 63 00 6B 00 65 00 74 00 20 00 69 00
{1650} normal block at 0x01CC1BF0, 16 bytes long.
Data: 64 6B E8 95 68 79 0D 4E FD 80 7F 4F 28 75 00 00
Object dump complete.

解决方法

1、在程序开始的地方,加上代码:_CrtSetBreakAlloc(1654); //1654为上面内存泄漏的块号。

2、用Debug模式运行,程序自动断点在“内存块1654”分配的位置。

3、这个时候一直利用“调试”-“退出”,或快捷键“SHIFT+F11”跳转,直到看到了自己的代码。

4、检查自己在该代码中分配的内存块,是否进行了合理的释放。

MFC控件CListBox调整大小时的高度注意事项

CListBox控件在进行调整大小时,默认是按照控件内item的高度进行高度变化递增的,也就是说,高度会是单个项高度的倍数,以便完整显示可见项。这样在父窗口OnSize时调整控件大小会出现高度和计算出的填充全客户区大小高度不一致的问题,显示上会有部分区域重绘错误。改变这种默认高度行为的方法就是在创建控件时,加上LBS_NOINTEGRALHEIGHT这个style bit。

终于忍不了了,入手DSTWO替下了DSTT

玩了2年多的IDSL,最近实在是忍不了了,DSTT内核停止更新已经很久了,一些非官方的内核啊,补丁库什么的更新速度也是不尽人意,这点当初刚买机子的时候有同事用老DS加SLOT2端烧录卡的时候就预见到这个问题了,没想到还挺快。考虑再三还是决定入手当红烧录卡DSTWO(花了240,没敢淘宝买,看好多人说收到的卡金手指都锈了…)了,留个影纪念一下吧。PS:淘宝上看到很多人说DSTWO的做工差,这点我倒是没太看出来。不过发现一个比较恶心的问题就是这卡用在DSL上SLOT1槽内会非常紧,插进去就不能弹出来了,问商家,商家说这卡就这样,一般他们用的时候都是只拔小卡(TF卡),还好烧录卡没事也不会总拔。不过这个卡在同事的DSI就没有问题,进出都很顺畅。