c++11 function 与bind 学习笔记

C++11 std::function 是一种通用、多态的函数封装,它的实例可以对任何可
以调用的目标实体进行存储、复制和调用操作

见下面的例子

std::bind 则是用来绑定函数调用的参数的,它解决的需求是我们有时候可
能并不一定能够一次性获得调用某个函数的全部参数,通过这个函数,我们可以将
部分调用参数提前绑定到函数身上成为一个新的对象,然后在参数齐全后,完成调

看下面的例子:

 

 

intel tbb 学习笔记

tbb是Threading Building Blocks library的缩写,是一个为开发者提供并行解决方案的库.

先放个文档https://www.threadingbuildingblocks.org/intel-tbb-tutorial

再放一个代码示例:

 

 

编译选项为: g++ -std=c++11 parallel_for.cpp -L/home/sensetime/workspace/graph/3rdparty/tbb/lib/intel64/gcc4.7 -ltbb -o parallel_for

 

C++ 记录代码运行时间

以前用的办法太老土啦

看到一个since C++11的方法,我觉得比较优雅

 

gdb学习笔记

用gdb调试c++的时候,需要添加-g编译选项add_compile_options(-g),并且关掉各种编译优化

如果是多线程程序,可以用info threads 查看每个线程的信息

然后用thread [id] 查看指定线程,并用bt查看调用栈。

gdb调试的时候,可以用ctrl+c 停住程序,来查看调用栈,然后按c(continue)继续程序的运行。

 

emmm

先放一些相关的。

Linux 下如何产生core文件(core dump设置)

ulimit -a 查看限制

ulimit -c  unlimited  表示这只为不限制core文件大小

用gdb的调试命令如下:

gdb ./test core.2065

 

linux 下C++ 连接mysql 数据库

资料推荐这个:MySQL C API programming tutorial

环境为ubuntu 14.04 lts

需要安装mysql 和mysql 开发包

sudo apt-get install libmysqlclient15-dev  mysql-server mysql-client

先在mysql  中建立test数据库和test表格

 

然后用如下cpp代码连接

编译:

此次从mysql中查询,发现成功插入了一条数据.