vs05 和 08 的 CRT 增加了一点功能,使用 fopen/_wfopen 时可以指定文件的编码,但我发现这个功能好像有很多 bug, 会导致程序崩溃。我是使用下面的形式打开文件的: TCHAR buf[1024]; FILE* fp = _tfopen(
在《介绍一下SVN》一文中,我提到了自动递增版本号的功能,现在就来具体说明一下实现方法。虽然标题中说的是“使用SVN”,但我们实际用的是 SVN 的
原文 本以为很简单,仔细阅读了一下 C++ 标准,发现内容还不少。总结了一下。 要点:函数类型,函数名,变量名具有语言链接性,language linka
原文链接 1. 引言 像 SQLITE 这样支持事务的数据库的一个重要特性是“原子提交”。原子提交意味着,一个事务中的所有修改动作要么全都发生,要么一个都不发生。
其实在网上搜索这个主题,已经有很多文章了,而且 Subversion 和 TortoiseSVN 的文档上也有相关介绍。但在我自己配置的过程中,发现它们好像都不完全对。所以我觉得有必要把
本来是发在公司内刊上的,现在拿来这里凑个数。 前一段时间,公司讨论统一配置管理工具时,我推荐了 svn(subversion)。照理说,在公司已
注:本文有一些不准确的地方,如对相关内容感兴趣,推荐阅读《无锁多线程那些事》。 加锁、解锁(同步/互斥)是多线程中非常基本的操作,但我却看到不
昨天整理家当时想起来的,从最早开始写到现在已经将近 10 年了,最后一次修改也是 7 年前的事了,发上来做个纪念吧。很多地方实现的很难看,但对初学者应
本来不是什么大问题,不过鉴于我对 .NET 的熟悉程度,和半天的时间,还是记录一下。另外 blog 也好久没更新了,顺便刷一篇。 本问题涉及到两个模块: a.dll
最早是在下面的程序中发现的问题: // a.cpp struct foo { void bar(){printf("foo::bar in a.cpp\n");} }; void testa() { foo f; f.bar(); } // b.cpp struct foo { void bar(){printf("foo::bar in b.cpp\n");} }; voidtestb() { foo f; f.bar(); } // main.cpp int main(int argc, char** argv) { testa(); testb(); return 0; }; 结果我发现这个程