2010年2月7日 | 分类: 生活 | 标签: , ,

哥哥结婚开的主婚车,敞篷奔驰CLK 200,本人Nokia N85拍摄 :-)

(点击查看清晰大图)

阅读全文…

2010年1月30日 | 分类: C++ | 标签: ,

配置3600+、2G,光是打开解决方案,VS 2008就要花差不多半个小时来生成ncb文件和更新IntelliSense,然后断断续续编译了近4个小时,还没编译完,占了差不多10G的硬盘——满了,不玩了,留一份纯代码用来膜拜算了,编不起我还看不起么。
不过相对于编译FireFox来说,编译Chromium算是简单多了,编译要用到的都是很常见的软件,比如svn、python等,而且可以用depot_tools工具自动获取exe,不需要安装,注意要手动checkout third_party\xulrunner-sdk库,官方打包的gz里没有这个库。

2010年1月27日 | 分类: C++ | 标签: , ,

在Chromium(Google Chrome浏览器的开源项目)源代码里看到一个字符串转换函数WideToASCII:

#include <iostream>
#include <string>
 
std::string WideToASCII(const std::wstring& wide) {
    return std::string(wide.begin(), wide.end());
}
 
int main()
{
    std::wstring ws(L"Test String");
    std::string s(WideToASCII(ws));
    std::wcout < < L"Wide: " << ws << std::endl;
    std::cout << "ASCII: " << s << std::endl;
 
    return 0;
}

阅读全文…

2009年12月8日 | 分类: C++ | 标签: , ,

CSDN上求助无果,只好用自创的非主流方法了。
asio自带的例子里是用deadline_timer的async_wait方法来实现超时的,这种方法需要单独写一个回调函数,不利于把连接和超时封装到单个函数里。传统的Winsock编程可以先把socket设为非阻塞,然后connect,再用select来判断超时,asio也可以这样做,唯一“非主流”的是asio里没有一个类似select的函数,所以得调用原始的Winsock API,也就牺牲了跨平台:

阅读全文…

2009年11月30日 | 分类: C++ | 标签: ,

boost里有个crc库,可以方便的计算crc值,使用也很简单,下面是个计算crc32的例子:

 
#include <iostream>
#include <boost/crc.hpp>
 
int main()
{
    char data[] = "StarsunYzL";
 
    boost::crc_32_type crc32;
    crc32.process_bytes(data, sizeof(data) - 1);
    std::cout << std::hex << std::uppercase << crc32.checksum() << std::endl;
    // 输出D5FABFDB
 
    return 0;
}

还可以计算crc16等,具体参考crc库文档。

(怎么自己实现crc32计算,请看《计算CRC32源码》