做了个sublime Text的中文语言包

[ 2015-04-13 23:14 | 分类:软件使用 | 浏览次数: 4,593次 | 2条评论 ]

语言包下载(对应Sublime Text 3.0 Build 3083):

http://pan.baidu.com/s/1eQ6crcQ

语言包项目地址:

http://git.oschina.net/hgyxbll

最新版python终于自带包管理工具pip了

[ 2015-04-08 22:16 | 分类:软件使用 | 浏览次数: 2,621次 | 0条评论 ]

python安装包终于自动包管理工具pip了,推荐大家更新.

关于linux的驱动模块

[ 2015-03-28 17:35 | 分类:软件使用 | 浏览次数: 1,575次 | 0条评论 ]

模块概念

linux驱动模块就是驱动文件(linux中一般不叫驱动,叫模块,以下文中的驱动,驱动模块,模块都是代表同一样东西),类似于windows的sys文件.

驱动模块是用来操作硬件设备,比如鼠标, 应用程序要获取鼠标当前位置, 需要通过以下调用过程: 应用程序->系统内核->驱动模块->获取鼠标位置.

在电视盒子上无线播放mkv文件

[ 2015-03-03 18:44 | 分类:软件使用 | 浏览次数: 2,132次 | 0条评论 ]

现在网上很多高清电影都是mkv格式了, 网上下载下来之后就琢磨着如何让电视盒子播放.

当然哥最讨厌用U盘了, 太麻烦了.

TL-WR842N老重启的一个改善方法

[ 2015-03-02 21:24 | 分类:杂谈 | 浏览次数: 2,367次 | 0条评论 ]

这路由器在京东买的非常好, 所以我也买了一个,没想到一年之后就老重启.

尤其当我的pc连这个的wifi时就会时不时重启, 更别说我用pc软件进行测速了.

Android上Airplay接收器软件比较

[ 2015-02-05 21:57 | 分类:软件使用 | 浏览次数: 3,875次 | 1条评论 ]

对于非常喜欢电视的我来讲, 对把视频放到电视上来看是非常执着的.

我特意买了乐视的盒子CS1, 装上快手看片, 每天吃饭时看部美剧或者电影相当不错.

但现在快手看片估计由于版权问题很多片子已经不能看了, 比如火影忍者.

这时候轮到我的ipad出马了, ipad用app或者网页打开视频,然后使用airplay推送到乐视盒子上,美哉.

PHP无法连接mysql数据库

[ 2014-10-25 16:18 | 分类:软件使用 | 浏览次数: 2,619次 | 1条评论 ]

PHP版本5.3.2, Mysql版本5.1.43,Apache版本2.2.4

在一个php测试文件中写了测试连接mysql的代码:

1
2
3
4
$link=mysql_connect("localhost","test","test_pass") or die(mysql_error()); 
if(!$link) echo "失败!";
else echo "成功!";
mysql_close();

在浏览器打开此php文件,结果打开失败,无响应.

让sublime text3在终端中运行

[ 2014-09-01 23:01 | 分类:程序开发 | 浏览次数: 7,612次 | 3条评论 ]

一般情况直接在Sublime Text3中运行即可, 但如果需要读取用户的输入, 比如C/C++调用函数getchar,gets,cin, ruby中调用$stdin.gets,这时候在Sublime Text中运行就没有效果了,表现的问题就是无法输入数据, 这时就需要让其在外部终端中运行.

SVN分支管理最佳策略

[ 2014-08-29 20:41 | 分类:程序开发 | 浏览次数: 7,859次 | 1条评论 ]

现在网上git的分支管理最佳策略最好查找, 基本上都趋同于一个.

由nvie建议的git branching model.

IAR中固定变量位置

[ 2014-08-29 20:35 | 分类:程序开发 | 浏览次数: 5,036次 | 1条评论 ]

 

首先为什么要固定变量位置呢,

1. 有时需要将一个程序的一部分变成可替换的, 比如语言包或者定制的一些功能是否开启.

当然在PC端一般直接就是把所有的语言包放在一起, 写个xml文件来开启或关闭定制功能.

但是嵌入式就麻烦些,首先是空间不够, 其次更新固件时是刷入整个程序,不包含配置文件等.

这就决定了语言包和定制的功能开关必须在固件里,也就是在程序里.

程序在link时所有东西的位置和大小都会固定, 在给各个语言或客户出固件时必须重新编译,使用不同的语言和开关.

要维护这么多固件很麻烦, 如果将语言和开关固定在某个位置, 主程序就只需要一个, 语言和开关编译成单独的一个包, 然后将这个包替换掉主程序中的语言和开关. 这样就减轻了维护多固件的麻烦.

2. 有时需要把一些信息放在固件的某个地方,比如版本信息, 这样升级程序或者bootload可以从固件中读取到升级固件的版本信息, 然后可以判断是否要升级.