自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(9)
  • 收藏
  • 关注

原创 使用perl的Mail::SendEasy模块来发送邮件

准备为现在的项目弄一个自动编译系统,初步采取用脚本语言自己写,比较好控制。这次不准备用python写,想用用perl,今天下午看了一下午的perl的语法和使用,下面是我的自动编译系统里的发送邮件代码(自动编译系统还没完全实现好):1. 从163邮箱的id为yourid@163.com发送邮件到dest@foo.com   1 #! /usr/bin/perl -w  2  3 us

2009-05-26 18:26:00 886

原创 让外网访问vmware虚拟机

最近在做一个项目,在vmware虚拟机上运行了apache,外网需要通过http请求虚拟机。因此将host机(本机)的某个端口映射成虚拟机上的80端口,这样外网只要向本机进行请求便可。虚拟机的网络设置成NAT方式:Edit ->Virtual Network Settings...->NAT->Edit->Port Forwading...->8888映射成虚拟机ip机器上的80端口

2009-05-25 18:59:00 4465 1

原创 操作系统杂想

操作系统最重要的是和硬件交互的部分。硬件可以不停演变,但是OS和硬件的交互可以抽象出来,譬如磁盘的文件系统,不管换成什么样的磁盘,文件系统可以抽象出来;再比如I/O(输入输出系统),不管是什么样的输入输出设备(键盘, 触摸屏,crt显示器,液晶显示器),I/O功能也都可以抽象出来。理解了OS的每个部分的抽象,也就能真正理解了一个OS是如何实现的,不管以后硬件演变成什么样子,在OS层做好软件的抽象,

2009-05-22 14:27:00 372

原创 简单对项目中的类做单元测试

 Test comes first!Visual Studio上的项目中一般有几种类型的工程,静态库(.lib), 动态库(.dll)以及我们的主工程(.exe), 每个工程里都分布着许多类,现在在写代码时要对这些类做一些单元测试, 我使用的Unit Test框架还是google test。挑战:如果一个类部署在dll中,则对应的该类单元测试显然也放在这个dll中比较好,但是要运行单元

2009-05-22 10:03:00 790

原创 参观机房

     昨天下午和几位同事一起去参观了公司委托在中国电信的机房。终于明白了什么是刀片式服务器, 所谓的IDC(International Data Center),也见到了传说中的几百万的像堵墙巨震撼的IBM小型机,还见到了服务器集群所用的硬件负载均衡器。看来做互联网公司,不下巨本是严重不靠谱的,当然如果只是刚开始创业,估计有那么两小片刀片式服务器(加起来和一个普通硬盘尺寸差不多大小)也就KO了

2009-05-22 09:47:00 1156

原创 lstrcpyn和strncpy

刚才写程序,偷了个懒,使用了lstrcpyn来进行unicode的字符拷贝,结果发现少拷贝了一个字符,看了下MSDN:TCHAR chBuffer[512];lstrcpyn(chBuffer, "abcdefghijklmnop", 4);chBuffer的结果为abc, 也就是指定了长度4,拷贝3个字符,同时加一个/0字符。而strncpy(unicode版本为_tcsnc

2009-05-21 12:28:00 5167

原创 将Window窗口程序改成Windows 控制台程序

刚刚在为项目搭建单元测试框架, google test必须要求在控制台下显示,因此将项目的窗口程序改成了控制台程序。 #pragma comment(linker, "/subsystem:console")同时将WinMain修改成main。 常见错误:1. #pragma comment(linker, "/ENTRY:main")     编译时提示存在.CR

2009-05-21 11:12:00 2816

原创 gcc内联汇编的一个注意点儿

《Linux内核情景分析》举了一个内联汇编的例子:static __inline__ void atomic_add(int i, atomic_t *v){ __asm__ __volatile__( LOCK "addl %1, %0" :"=m"(v->counter) :"ir

2009-05-05 10:10:00 788

原创 罗马数字攻略

罗马数字(roman numerals)也是和阿拉伯数字一样的计数系统,由于阿拉伯数字实在方便强悍,罗马数字便中道败落,使用的人越来越少了。目前钟表的时间刻度,书的章节数上还经常出现老兄的踪影(也许是习惯,也许是美感?我倾向于第二种,用字母来表示数字本身就有一种美感在里面)。 今天练习了一下,以下是攻略:1.  罗马数字使用字母来表示数,一共只要I(1), V(5), X(10), L

2009-05-04 14:11:00 2003 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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