摘要:作为最流行的C++密钥库,crypto++的文档并不友善 至少我找了一圈,发现最好用的还是其自带的测试 但是在我的环境,测试并不能正常运行,报异常“无法定位GetOverlappedResultEx于动态链接库kernel32.dll上”。 查看kernel32.dll,确实不存在GetOverla
阅读全文
摘要:概述 创建异步值 使用boost::promise或boost::packagedd_task可以设置future的值 经常有人问:“怎么从线程返回一个值?”,这就是答案:将要运行的函数包装在boost::packaged_task,并传入线程的构造函数 int calculate_the_answ
阅读全文
摘要:概要 namespace boost { enum class cv_status; { no_timeout, timeout }; class condition_variable; class condition_variable_any; void notify_all_at_thread_
阅读全文
摘要:mutex类 boost::mutex实现Lockable概念,提供独占互斥量。 timed_mutex类 boost::timed_mutex实现TimedLockable概念,提供独占互斥量。 recursive_mutex类 boost::recursive_mutex实现Lockable概念
阅读全文
摘要:类模板unique_lock boost::unique_lock较boost::lock_guard复杂,它不但提供RAII风格锁定,还提供多种锁定选项。 boost::unique_lock的模型由传入参数实现的模型来决定。 如: boost::unique_lock<boost::timed_
阅读全文
摘要:lock_guard模板 boost::lock_guard 构造时提供实现Lockable概念的对象作为参数,获得所有权 析构时释放所有权 提供RAII风格的锁定,实现锁和解锁的异常安全 lock_guard(Mutex& m_, adopt_lock_t)允许lock_guard获得线程已经持有
阅读全文
摘要:锁的选项有3个结构类型以及3个它们的常量 struct defer_lock_t {}; struct try_to_lock_t {}; struct adopt_lock_t {}; const defer_lock_t defer_lock; const try_to_lock_t try_t
阅读全文
摘要:互斥对象有利于实现多线程中数据的线程安全。 线程调用锁函数来获得互斥对象的所有权,调用对应的解锁函数来放弃所有权。 互斥量可以是递归或非递归的,并且可以同时把所有权赋给多个线程。 Boost.Thread提供独占的递归、非递归互斥量,以及共享(多读单一写)互斥量。 BasicLockable概念 B
阅读全文
摘要:开源项目对Windows平台并不待见,Lua就需要自己来编译 Lua小巧,编译并不难,在"lua-5.3.2/doc/readme.html"有介绍 注意以下几点: 1 编译动态库时,定义宏LUA_BUILD_AS_DLL 2 编译luac时,要将除了lua.c之外的文件加入工程。只加入一个luac
阅读全文
摘要:跟风秀一下#include int g1() { return 10;}void main() { int f1(int()); //声明函数f1 std::cout << f1(g1) << std::endl; //10 int f2(int(*)()); //声明函数f...
阅读全文
摘要:从语义上理解引用就是变量的别名指针是一个变量,保存着变量的地址因为引用是别名,所以引用不能单独存在,没有空引用,而能有空指针但作为C++程序员,只从这个层面理解引用显然心里会发虚因此上测试代码#include void t1() { char c = 'a'; char &r = c; ...
阅读全文
摘要:用stringstream给字符串赋值发现和想的不一样简单地说,罢工了推敲出以下例子,以后给我乖乖工作!:D#include #include #include using namespace std;string getState(stringstream& ss) { ostringstr...
阅读全文
摘要:作用定义于windows.h文件中,定义如下#ifndef WIN32_LEAN_AND_MEAN #include #include #include #include #ifndef _MAC #include #include...
阅读全文
摘要:宫指导说,换帅如换刀 程序员的编译器一换,基本套路必须都重练几次 使用wxWidgets并不难,但不能使用现有的库和工程配置文件,细节就必须理清楚 获取wxWidgets 官方的下载页面,下7z或zip文件均可 文件“wxWidgets根目录/docs/msw/install.txt”是编译说明文档
阅读全文
摘要:目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译。尽管MySQL手册提供了信息,但在编译过程中还是有不少细节需要注意。CMAKE到官网下载最新的稳定版本把bin目录添加到环境变量PATH中Boost同样到官网下载最新的稳定版本MyS...
阅读全文
摘要:visual studio下配置boost环境
阅读全文