它必须同时在Linux和Windows上运行。
当我想要测试日志滚动系统时出现这个问题(该系统将.1附加到创建一个具有相同名称的新系统的名称)。在Windows (尚未在Linux上测试)上,我无法重命名使用std::ifstream()打开的文件(独占访问?)即使我在“输入模式”(ios:: in )中打开它。有没有一种跨平台的方式以非独占的方式打开文件?
所有事务都是独占的: ret = sqlite3_exec(db,"begin exclusive事务“,NULL,NULL,NULL);。我发现在linux上(在使用sqlite3.6.22的Windows上不是这样),这些调用成功并返回SQLITE_OK,即使其他进程之前已经执行了相同的操作,并且还没有发出提交或回滚,也就是说,仍然应该持有数据库上的独占锁