log和logf

用C/C++处理数据的时候,如果数值比较大就得注意数据类型。比如这个log函数的问题。 log接受double类型的参数,而logf接受float类型。 比如这段代码: #include #include int main() { double x = 4.4e52; printf(“log(%lf) = %f\n”, x, log(x)); printf(“log(%lf) = %f\n”, x, logf(x)); return 0; } linux/gcc下的输出是 log(43999999999999999701721741671911630964315171445538816.000000) = 121.216029 log(43999999999999999701721741671911630964315171445538816.000000) = inf

vimGdb

又回到了用VIM的状态。刚装起来了vimGdb,vim的各种gdb插件还是这个比较顺手。唯一的不足之处是vimGdb需要给源码打一个Patch。 vim最新的稳定版本是7.3,对应的vimGdb在这里 larrupingpig/vimgdb-for-vim7.3 下面的说明比较清楚了,需要注意的是vim的源码必须是 vim-7.3.tar.bz2 这个包,如果是从最新的库里checkout的代码会和patch不匹配。 比如在~/Temp下有 vim-7.3.tar.bz2 vimgdb-for-vim7.3.tar.gz 解压 $tar xvf ./vim-7.3.tar.bz2 $tar xvf ./vimgdb-for-vim7.3.tar.gz 打patch $patch -p0 < ./vimgdb-for-vim7.3/vim73.patch 编译 $cd ./vim73 $./configure --enable-gdb $make $sudo make install 把./vimgdb-for-vim7.3/vimgdb_runtime/里面的文件拷贝到~/.vim/下 推荐使用Pathogen管理plugin,会比较方便一点 在~/.vimrc里增加一句 source ~/.vim/macros/gdb_mappings.vim 然后就OK了。编译代码的时候用-gstabs+让gcc把调试的信息加上去。 具体请参看vimGBD的文档。这里也行:gdb.txt P.S. 大神们真无聊啊,居然把vim移植到iOS上去了...Vim iOS

iExplorer

玩iOS的好东西。 这个不是微软的IE,而是iPhone Explorer,应该是因为Apple的压力,名字改成了iExplorer,据说图标也小有改动。 不需要Jailbreak你的iOS设备,连上机器之后打开iExplorer就可以看到各个App下的内容和系统的一些文件。 一般来说,App中用户的数据都是放在App Name/Documents这个文件夹下面,比如游戏存档… iExplorer可以自由地存取文件,所以可以干的事情就多了… 软件主页上提供的截屏:

Xresources File

感觉用Linux的一大好处就是纯文本的配置文件决定一切。 今天在一个新机器上搭自己的开发环境, apt-get(墙外的网络真快,也用不着去辛苦地找源)一下, 把几个配置文件拷过去,就和老机器一样了。 基本上用到的就是openbox的配置, vimrc, screenrc, bashrc和Xresources 很奇怪的是Xresources拷过去不工作,google到了这个X resources 应该是因为没有起Xorg,~/.Xresources没有被自动地处理,所以需要在~/.xinitrc里面增加一行 xrdb -merge ~/.Xresources 重开一下X就行了。

Macbook升级内存

升级一个内存,跑了电脑城两趟才搞定。 机器是Macbook小白,原装的是两条DDR3 1G 1066的内存。2010年的机器。 需要提醒朋友们注意的是,这个时间以及之前的Macbook不支持1333或者以上的内存,最大内存总量是4G。 考虑到1066的DDR3内存不是很好搞了,可以用一条1333加一条1066来用,我现在就这么用的。高频的会自动降到低频来用。 但是如果两条都是1333就会悲剧了…