随笔分类 -  C++

摘要:作为最流行的C++密钥库,crypto++的文档并不友善 至少我找了一圈,发现最好用的还是其自带的测试 但是在我的环境,测试并不能正常运行,报异常“无法定位GetOverlappedResultEx于动态链接库kernel32.dll上”。 查看kernel32.dll,确实不存在GetOverla 阅读全文

posted @ 2016-09-20 14:45 神气小宇 阅读(768) 评论(0) 推荐(0)

摘要:概述 创建异步值 使用boost::promise或boost::packagedd_task可以设置future的值 经常有人问:“怎么从线程返回一个值?”,这就是答案:将要运行的函数包装在boost::packaged_task,并传入线程的构造函数 int calculate_the_answ 阅读全文

posted @ 2016-03-07 15:47 神气小宇 阅读(881) 评论(0) 推荐(0)

摘要:概要 namespace boost { enum class cv_status; { no_timeout, timeout }; class condition_variable; class condition_variable_any; void notify_all_at_thread_ 阅读全文

posted @ 2016-03-07 15:07 神气小宇 阅读(1738) 评论(0) 推荐(0)

摘要:mutex类 boost::mutex实现Lockable概念,提供独占互斥量。 timed_mutex类 boost::timed_mutex实现TimedLockable概念,提供独占互斥量。 recursive_mutex类 boost::recursive_mutex实现Lockable概念 阅读全文

posted @ 2016-03-07 11:45 神气小宇 阅读(331) 评论(0) 推荐(0)

摘要:类模板unique_lock boost::unique_lock较boost::lock_guard复杂,它不但提供RAII风格锁定,还提供多种锁定选项。 boost::unique_lock的模型由传入参数实现的模型来决定。 如: boost::unique_lock<boost::timed_ 阅读全文

posted @ 2016-03-07 11:24 神气小宇 阅读(184) 评论(0) 推荐(0)

摘要:lock_guard模板 boost::lock_guard 构造时提供实现Lockable概念的对象作为参数,获得所有权 析构时释放所有权 提供RAII风格的锁定,实现锁和解锁的异常安全 lock_guard(Mutex& m_, adopt_lock_t)允许lock_guard获得线程已经持有 阅读全文

posted @ 2016-03-07 11:03 神气小宇 阅读(216) 评论(0) 推荐(0)

摘要:锁的选项有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 阅读全文

posted @ 2016-03-07 10:43 神气小宇 阅读(203) 评论(0) 推荐(0)

摘要:互斥对象有利于实现多线程中数据的线程安全。 线程调用锁函数来获得互斥对象的所有权,调用对应的解锁函数来放弃所有权。 互斥量可以是递归或非递归的,并且可以同时把所有权赋给多个线程。 Boost.Thread提供独占的递归、非递归互斥量,以及共享(多读单一写)互斥量。 BasicLockable概念 B 阅读全文

posted @ 2016-03-07 10:36 神气小宇 阅读(480) 评论(0) 推荐(0)

摘要:开源项目对Windows平台并不待见,Lua就需要自己来编译 Lua小巧,编译并不难,在"lua-5.3.2/doc/readme.html"有介绍 注意以下几点: 1 编译动态库时,定义宏LUA_BUILD_AS_DLL 2 编译luac时,要将除了lua.c之外的文件加入工程。只加入一个luac 阅读全文

posted @ 2016-02-16 09:45 神气小宇 阅读(252) 评论(0) 推荐(0)

摘要:跟风秀一下#include int g1() { return 10;}void main() { int f1(int()); //声明函数f1 std::cout << f1(g1) << std::endl; //10 int f2(int(*)()); //声明函数f... 阅读全文

posted @ 2015-12-24 10:27 神气小宇 阅读(273) 评论(0) 推荐(0)

摘要:从语义上理解引用就是变量的别名指针是一个变量,保存着变量的地址因为引用是别名,所以引用不能单独存在,没有空引用,而能有空指针但作为C++程序员,只从这个层面理解引用显然心里会发虚因此上测试代码#include void t1() { char c = 'a'; char &r = c; ... 阅读全文

posted @ 2015-12-24 09:44 神气小宇 阅读(193) 评论(0) 推荐(0)

摘要:用stringstream给字符串赋值发现和想的不一样简单地说,罢工了推敲出以下例子,以后给我乖乖工作!:D#include #include #include using namespace std;string getState(stringstream& ss) { ostringstr... 阅读全文

posted @ 2015-12-17 14:58 神气小宇 阅读(292) 评论(0) 推荐(0)

摘要:作用定义于windows.h文件中,定义如下#ifndef WIN32_LEAN_AND_MEAN #include #include #include #include #ifndef _MAC #include #include... 阅读全文

posted @ 2015-11-24 14:45 神气小宇 阅读(485) 评论(0) 推荐(0)

摘要:宫指导说,换帅如换刀 程序员的编译器一换,基本套路必须都重练几次 使用wxWidgets并不难,但不能使用现有的库和工程配置文件,细节就必须理清楚 获取wxWidgets 官方的下载页面,下7z或zip文件均可 文件“wxWidgets根目录/docs/msw/install.txt”是编译说明文档 阅读全文

posted @ 2015-10-21 13:15 神气小宇 阅读(4228) 评论(1) 推荐(2)

摘要:目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译。尽管MySQL手册提供了信息,但在编译过程中还是有不少细节需要注意。CMAKE到官网下载最新的稳定版本把bin目录添加到环境变量PATH中Boost同样到官网下载最新的稳定版本MyS... 阅读全文

posted @ 2015-10-17 07:14 神气小宇 阅读(2446) 评论(0) 推荐(0)

摘要:visual studio下配置boost环境 阅读全文

posted @ 2015-10-14 23:09 神气小宇 阅读(2046) 评论(0) 推荐(0)

导航