自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 在VirtualBox安装Redhat Linux遇到的几个问题

在VirtualBox虚拟机里安装Redhat Linux,遇到几个很典型问题,记录在这里,做备忘:Redhat Linux的ISO安装包从哪里获取?http://calipso.linux.it.umich.edu/pulp/isos/UM/Library/content/dist/rhel/server/7/7Server/x86_64/iso/rhel-server-7.4-x86_64-dvd.iso未注册版如何安装软件?或者叫如何更新AppStore源先把wget的rpm安装包下载

2021-09-18 21:24:41 156

原创 How to resolve “multiple launches of this installer is not allowed“ ?

If you are installing some application packed by InstallAnywhere, and suffer the issue of “mutiple launches of this installer is not allowed” (不允许多次启动此安装程序。安装程序现将退出。), then this article is for you.The error message, “multiple launches of this installer is

2021-04-25 18:55:24 127

原创 RISC-V架构的特点

最近2年多转做技术支持, 包括售前的产品介绍及售后的技术服务,重心都在RISC-V架构的处理器上,打算今后分享一些RISC-V架构的内容,如果你有想了解的问题,欢迎给我留言.这篇文章先简单说一下RISC-V架构的特点. RISC-V (发音为“risk-five”)是一个开源的指令架构, RISC是精简指令集的意思,V代表是第5版,由加州大学伯克利分校的David A. Patterson教授带领开发,RISC-V开源之后,和Linux类似,成立了专门的基金会,并且有会员制度,为了保持架构的中立性及免受贸

2021-03-14 21:40:44 2247

原创 一次链接错误的排查

同事新给我一版QEMU包,编译时有如下的链接错误:undefine reference to ‘std::__cxx11::basic_stringstream<char, std::char_traits, std::allocator >::basic_stringstream()’undefine reference to ‘std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >:

2021-03-14 20:48:36 94

原创 搬家到jianshu

博客搬家到jianshu了,地址是:http://www.jianshu.com/u/a132ee59b462,通过swimmer2000在简书上也可以找到我。

2017-10-26 16:37:47 256

原创 关于API接口设计的文章

在酷壳上看到《API设计原则》,https://coolshell.cn/articles/18024.html,很自然的找到英文原文《Designing Qt-Style C++ APIs》,https://doc.qt.io/archives/qq/qq13-apis.html这篇文章以QT和C++为例,说明API设计的注意事项,在文章里还提到Jasmin Blanchette的《The

2017-10-11 14:39:50 442

原创 How to build sqlcipher (ver 3.4.1) for windows

用到的工具有(The minimal setup you need to compile SQLCipher on windows is:)OpenSSL, either in source or binaryforms Perl - Optional, only required if you build OpenSSLMinGW / MSYS - required to c

2017-07-14 15:21:10 2302 1

原创 按列合并多个txt文件为csv文件的脚本

将多个文本文件按列合并成一个csv文件的脚本,@echo offsetlocal EnableDelayedExpansionif exist result.csv del result.csvset s1=result.csvfor %%f in (*.txt) do (  if not exist result.csv (    copy /

2017-03-06 13:36:00 2415

原创 编码-Unicode、CodePage、ASCII和其它

Joel Sposkley的这篇文章,https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/谈了字符和编码,如果你

2017-02-23 10:43:21 908

原创 从什么是波说起(未完-摘录)

什么是波?(https://en.wikipedia.org/wiki/Wave)In physics, a wave is an oscillation accompanied by a transfer of energy that travels through a medium (space or mass). Frequency refers to the addition of t

2017-01-23 13:19:53 326

原创 XPosed暴力列举Package下所有的方法调用

使用Xposed去Hook Android,最让人头痛的是怎么样才能找到合适的函数入口。Xposed的作者rovo89在开发教程https://github.com/rovo89/XposedBridge/wiki/Development-tutorial里说,有两个方法:Possibility one: Decompile it。rovo89说反编译得到smali代码很难

2016-08-31 15:19:25 10516

原创 解决Windows上交叉编译qt gdb for raspberry pi报错

按照Ras在《适用于树莓派Raspberry Pi的嵌入式QT平台(三) -- 交叉编译 Raspberry Pi 版GDB with Python》一文里的做法,编译windows平台下的gdb,用于调试树莓派上的程序。准备工作做好后,编译接二连三出现错误,先是wchar.h报错,说mbstate_t未定义,改了半天宏,无效果,后面通过修改qt-creator-opensourc

2016-08-12 16:46:21 903

原创 ACYCLIC VISITOR模式解决Shape排序问题

Robert C Martin 在他OCP(Open/Closed Principle,可以参考>)的教程里,以Shape作为例子,介绍如何运用OCP。但是有一个问题没有给答案,只是说:“It is possible to solve this problem by using the ACYCLIC VISITOR pattern described in Chapter 35.

2016-05-11 10:29:38 939

原创 <<UML for Java Programmers>> 第11章读书笔记

这一章提到新手做设计时的常见错误。我最喜欢这一章,以前看的时候,为了追求所谓的速度,把书中的实例统统略过,真有点买椟还珠的味道。另外说明一下,读书笔记为什么突然跳到第11章。最简单的原因是因为我对这一章有感觉,觉得有必要做笔记。常见的如下:1. 没有方法的类(MissingMethods)。没有方法的类是没有存在价值的,“programs are about behavior!”,

2016-05-06 16:53:27 3040

原创 《UML for Java Programmers》读书笔记——第二章

为了整理自己写的代码,重看了《UML for Java Programmers》。觉得第二章的《Working with Diagrams》特别精彩,讲清了用UML的目的,什么时候用UML,什么时候不用。作者从为什么要建模开始讨论。so,为什么建模? 1. Models are built to find out if something will work.2. We i

2016-04-13 15:52:00 377

原创 Timer的purge

看Android的文档,提到Timer会和一个Thread关联,所有的任务都在这个关联的Thread里执行。只有一个关联的Thread,所以不会存在同一Timer的两个Task同时执行的情况,这很好理解。方法cancel会取消所有等待执行的Task,并且关联的Thread会被释放,这也很好理解。可是看到Timer还提供了purge这个方法,注释是“从task queue里移除所有标记

2016-01-05 11:21:27 18626

原创 Timer的purge

看Android的文档,提到Timer会和一个Thread关联,所有的任务都在这个关联的Thread里执行。只有一个关联的Thread,所以不会存在同一Timer的两个Task同时执行的情况,这很好理解。方法cancel会取消所有等待执行的Task,并且关联的Thread会被释放,这也很好理解。可是看到Timer还提供了purge这个方法,注释是“从task queue里移除所有标

2016-01-05 11:20:20 1116

转载 Uncle bob的书摘(Clean code and the craftsman)

Clean Code:-There Will Be Code -Bad Code -The Total Cost of Owning a Mess -The Grand Redesign in the Sky -What is Clean Code? -A review of expert opinions. -Schools of Thought -The

2015-05-19 17:25:55 1156

原创 Android onPause和onSaveInstanceState的区别

onPause在Activity部分不可见的时候被调用,onSaveInstanceState在需要空出内存给当前Activity的时候执行。onSaveInstanceState有时候在onPause()运行前调用,有时候不(Pre-HONEYCOMB 版本前可能先调用onSaveInstanceState,之后onPause先调用)。Android Activity的详细文档在这里。

2015-04-03 15:31:08 3325 1

原创 时序的问题

今天一天解决了一个问题.在Wince下与设备通过SPI通讯,过程如下:1. 给设备发Reset信号2. 检查数据是否Ready3. SPI通讯为了具体化,我列出程序的伪代码:GetDeviceData()    }Bug的表现是这样的:a. 有时候测不到Ready信号b. 有时候能取到正常的数据,大部分时候数据完全不对,偶尔前半部分数

2015-01-27 23:09:22 1036

原创 Todo List 20140926

Some task to be executed1. Makefile 2. MFC: CView and CWnd

2014-09-26 14:41:11 856

原创 Android <uses-sdk> 注释

在AndroidManifest.xml中会看到的身影,它包含

2014-05-15 13:14:47 5101

原创 架构分析引起的笔记

同时在看两本书,《道法自然:面向对象实践指南》和《Software design in practice》。突然发现对RUP、OOAD、Archecture Design、Design Pattern等观念傻傻分不清楚。经过一阵google,终于算是明白了一点,现记录如下。软件生命周期主要包括瀑布型和迭代型,迭代型开发过程是Unified Process的主要特征,Rati

2014-03-11 15:49:20 984

原创 解决jni链接时找不到函数的问题

用jni调用库函数时,经常会碰到link的错误,具体出错信息如下:08-07 01:42:06.490: E/AndroidRuntime(1665): java.lang.UnsatisfiedLinkError: xxxx核对后发现函数名称并没有错。这个问题有几种可能,最根本的解决方法是把so的内容dump出来。具体的方法可以参考 http://stackoverflow.co

2013-10-11 10:12:12 6564

转载 GitHub Merge branch 'master'

Question: Been trying out Git and Github after many years of svn use. I seem to have the basics down, but one item is confusing me.UserA makes a change to FileA and pushes to the remote serv

2013-03-22 16:08:36 9530 1

原创 2012计划

健身、学习Android开发、学车

2012-02-05 10:36:28 1044

原创 高内聚低耦合

模块越独立,就越能够被重用,编译该模块的时间也越少。衡量软件好坏的主要标准是看它的内聚性与耦合性。“高内聚、低耦合”是我们的目标。以此作为标准,会衍生出很多东西,编程规范是其中一种。我们常会见到的一条是尽量不要使用全局变量。耦合是分级别的。全局变量的耦合性最大,静态变量次

2011-08-29 10:20:40 4705 3

原创 MMI_fixed_list_menu三种

有一阵子我被list_menu给弄晕了。所有需要显示菜单列表的地方,传入的实参都是MMI_fixed_list_menu,但偏偏又有gui_show_fixed_list_menu、gui_show_dynamic_list_menu、gui_show_asyncdynamic_

2011-08-18 13:58:40 1943

原创 MTK代码里SetLeftSoftkeyFunction和SetKeyHandler区别

简单讲:SetLeftSoftkeyFunction是高级版的SetKeyHandlerSetLeftSoftkeyFunction是专门设置左软键功能的函数,SetKeyHandler可以设置任何按键,既然SetKeyHandler已经可以设置了,为何还要弄个SetLeft

2011-08-16 15:37:26 1907

原创 利用大数相乘求幕

<br />前一篇文章里贴出了个大数相乘的代码,其实是为了解决求幕的问题。例如求5.1234的12次方,且不能丢失小数点后的结果,代码如下:<br /> <br />void get_coefficient(char* number, unsigned int exponent){ char pBuffer[100] = {0}; char pTempResult[200] = {0}; strcpy(pTempResult, number); char input[100] = {

2011-01-18 23:20:00 1214

原创 大数相乘的c代码

#include "stdafx.h"#include // 字符串反转void reverse_string(char* pszBuffer){ unsigned int length = strlen(pszBuffer); for (size_t i = 0; i

2011-01-16 23:56:00 1904 3

原创 幕的奥秘---为什么杨辉三角成立?

<br />就像我在以前的这篇博文里说的那样,11这个十进制数可以看成ax+b(一元多项式a=1,b=1,x=10)的形式,现在如果有个题目要求你计算11的987654321次方,你该怎么办?<br /><br />不知你有没有想出解决的方法。我的看法是987654321太大,让我们从1、2、3、4开始吧!<br />如果让a等于10,b等于1,那么11就等于a + b。下面就以a + b作为例子,讲讲幕的计算。<br /><br />(a+b)^1 = a + b<br />(a+b)

2011-01-16 00:02:00 1412

原创 大数相乘---吃米粉时想到的

好不容易,你得到个为银行工作的机会。作为程序员的你,上班第一天就遇到个头痛的问题。你上司要你写程序计算出10000000000234567800000 X 2343466888888880000000的结果。也许是为了考验你,也许是真的有这个需求。不管怎样,面对这道题,你要怎么做?用32位的整数肯定不行,64位的也不能保证不会溢出。题目要是求2的幕就好了,求2^m你只要将2左移m位就万事大吉。这么变态的大数,还要相乘,你都在怀疑自己是否真的适合这份工作。把大数赋给整形变量,再用传统的c = a

2011-01-15 23:12:00 1141

原创 说说MTK的EntryNewScreen函数和一个Bug

<br />EntryNewScreen(XXX_SCREEN_ID, exit_fun, entry_fun, 0)后,XXX_SCREEN_ID成为Active  Screen Id, 但是XXX_SCREEN_ID的信息并不会加入到历史记录中,而是保存在一组全局变量中。只有当新的screen成为active screen时,XXX_SCREEN_ID才会被加入到history中。<br /><br />我最近在做信息上下一条切换的功能,我的做法是先删除当前的Screen,然后再重新进入,发现Del

2011-01-09 12:02:00 2053 1

原创 博客搬家到Javaeye

如果我没记错,周星星电影里有这样一个片断。一个女人说:“虽然粗暴的男人有时候让我很兴奋,但是我实在是受不了。”CSDN就是这个粗暴的男人。 新地址:http://swimmer2000.javaeye.com

2009-08-06 13:20:00 1135

原创 速算法的奥秘

闲着(例如乘坐公交)的时候我会想些和工作有些关系而又不太紧密的问题,例如我发现一个数与9相乘,把结果中的每个各位数相加,其结果都是9,例如:  1 * 9 = 9 (9 = 9)  2 * 9 = 18 (1 + 8 = 9)  3 * 9 = 27 (2 + 7 = 9)  4 * 9 = 36 (3 + 6 =

2009-05-11 11:02:00 1591 1

原创 几张图片

for CSDN 

2009-05-04 17:11:00 988

原创 关于查找算法(The more the better)

线性查找的时间复杂度为n。如果我们知道数组是已排好了序的,那么就可以采用更有效率的算法,例如二分查找法,它的时间复杂度为lgn。其实我是想说,对问题知道得越多(有序数组中相邻的元素是递增的关系,而在一般的数组中,我们不知道相邻的数组元素谁大谁小),我们就越能找出更有效的解决方案。近似于说教了,真失败。

2009-04-24 13:51:00 924

原创 《算法导论》笔记一

看《Introduction to Algorithms, Second Editon》,里面提到插入排序和选择排序,这两个算法的时间复杂度是一样的。比较这两个算法的时候,我发现其实它俩是一回事。插入排序是把新元素插入到已经排好了序的序列里,我们知道执行当前操作需要插入的数字;而在选择排序中,需要插入的新元素是未知的(需要选取),但是插入的位置是已知的。插入排序是插入的元素已知,选择排序是插入的位

2009-04-24 13:39:00 907

原创 IT电子书下载的好站点

http://rapidshare.com有很多好资源,但是经常会发现网上提供的链接无效,这时候怎么办?除了可以通过site关键字制定搜索范围外,还可以到http://rapidlibrary.com上搜,很方便。 http://www.avsnonline.net也是个资源丰富的站点,通过这个链接(http://www.avsnonline.net/library/download.ph

2009-04-16 16:49:00 1030

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