通过goagent使用Picasa客户端
#
goagent这一神器就不多说了,配置详见goagent教程。这里主要探讨picasa客户端使用代理的问题。
picasa本身的代理设置只有一个用户名和密码,不明所以,所以一直用hosts文件的方法,但是后来发现配置里还有一项“自动检测网络设置”,勾选之后只要在系统里设置好goagent代理(PS,Internet选项那里,Linux没试,Linux下也没有picasa端吧),就可以使用代理上传照片了。
最后吐槽一下:picasa也是google神器了,更有牛逼的人脸识别,但自从picasa相册编程google plus相册之后,就有了很多纠结的问题。比如我只是想把认识的人圈点一下,结果你非要在Google Plus群发一条消息,这如何是我等低调之人所能容忍的。算了,pica...
在这个才人辈出的时代
#
偶然翻bootstrap的资料,在bootstrap的中文网站看到如下三个sample:
http://wrongwaycn.github.com/bootstrap/docs/examples.html
神吐槽,不解释。膜拜楼主。细软跑。
关于结构体字节对齐的一些问题
#
字节对齐的目的
字节对齐的作用不仅是便于cpu快速访问,同时合理的利用字节对齐可以有效地节省存储空间。对于32位机来说,4字节对齐能够使cpu访问速度提高,比如说一个long类型的变量,如果跨越了4字节边界存储,那么cpu要读取两次,这样效率就低了。但是在32位机中使用1字节或者2字节对齐,反而会使变量访问速度降低。所以这要考虑处理器类型,另外还得考虑编译器的类型。在vc中默认是4字节对齐的,GNU gcc 也是默认4字节对齐。
字节对齐的基本原则
如下三条
结构体变量的首地址能够被其最宽基本类型成员的大小所整除;
结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal...
Vim轻量级缓冲区管理插件Buf_it修订版Buf_itv2
#
之前发布了Vim的缓冲区管理插件Buf_it的一个修正版,但是后来发现在windows下命令行使用的时候有问题,同时与Nertree和Taglist等插件也有冲突。于是继续fix了几个bug,然后解决了这部分冲突,新的代码放在我的[github][1]上,或者也可以这里下载,有问题可以继续留言,谢谢。
效果如下:
![效果图][2]
安装:
扔进plugin目录就行
配置
nnoremap wq :w:call BufClose(0)
nnoremap q :call BufClose(0)
nnoremap w :w
nnoremap x :call BufClose(1)
使用
shift h,l :左右切换tab
\be :BufEch...
关于Const指针的一点补充
#
OsChina上一个朋友给出的例子,很能说明问题:
typedef char * CharPtr;
const CharPtr mycharptr = "Hello, World";
mycharptr[0]='h'; //OK[1]
mycharptr = "It's Wrong"; //Err[2]
如果把CharPtr替代掉的话,那么似乎[1]是错的,[2]是对的,因为const char _是指向const char的指针,指针可以指向别的,但是指向的内容不能变。实际上,const只是编译器的一种规范,所以编译的时候只按照语法检查是不是改变了,char_被typedef之后,可以当成一种简单类型看,那么const CharPtr 就只一个CharPtr型的常量,对它...
区分一下强制类型转换运算符重载/赋值运算符重载/对象定义的赋值
这三个名字可能很绕,看着也很不一样,但其实是三个很容易混淆的概念,并且经常在实际编程中遇到。这里拿出来比较一下。
首先是强制类型转换运算符的重载,作用是当前对象向其他类型的转换,常见的形式是
:::cpp
operator int();
Integer::operator int()
{
return x;
}
深入解析C++输入输出运算符重载
其实算不上什么深入解析,只不过最近看CArchive类的实现,其中一些写法完全颠覆了我对输入输出运算符重载的一些理解,所以在这里mark一下。
我们以输出运算符为例。首先输出运算符重载的一般形式是
:::cpp
friend ostream& operator<<(ostream& o,const ClassName& c);[1]
506 post articles, 64 pages.