- 博客(10)
- 资源 (13)
- 收藏
- 关注
转载 BOOST_TYPEOF和BOOST_AUTO
头文件里定义了两个宏:BOOST_TYPEOF和BOOST_AUTO,分别用于仿真C++新标准的typeof和auto关键字,可以在编译期自动推导表达式的类型。它们不仅能够推导C++语言内建的int、double、数组、函数指针等等类型,也支持标准库中的容器类型,使程序员再也不需要写复杂的类型定义就能够轻松声明变量。这两个宏完全模仿了typeof和auto关键字的用法,除了因为宏的语法
2013-04-27 16:58:16 13506
转载 windows下boost的安装与初试
第1步:先从官网(www.boost.org)下载最新版的BOOST源码,如图所示我这里下的是zip的那个第2步:编译源代码(放心.这里是傻瓜式的操作,很容易操作)(1)先把源代码放在E盘,例如 E:\boost_1_53_0(2)在源代码中找到一个批处理bootstrap.bat,运行即可此时会弹出Building Boost.Jam之类,过一会之后,源代码中
2013-04-26 20:27:00 52045 4
转载 STL中仿函数(functors)、类成员和mem_fun的使用
众所周知,STL使用起来非常方便,其中仿函数(functor)扮演了一个非常重要的角色。灵活运用仿函数的使用对于发挥STL强大功能非常关键。本文详细介绍了如何使用mem_fun和mem_fun1来绑定类成员函数,使之成为functor 什么是仿函数?就是一个重载了"()"运算符的struct,例如:struct print_obj{ void operator(int
2013-04-26 10:13:11 3146
原创 ARRAYSIZE:计算数组长度
ARRAYSIZE:计算数组长度定义:#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A)extern "C++" // templates cannot be declared to have 'C' linkagetemplate char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N]; //详见"模板元编程
2013-04-24 09:35:54 5428
转载 Boost智能指针——scoped_ptr、shared_ptr、weak_ptr、intrusive_ptr
一、scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include #include #include class implementation{public: ~implementation() { std::cout
2013-04-23 15:49:24 3202
转载 boost::lock_guard 线程同步
boost文档汉化项目地址:http://code.google.com/p/boost-doc-zh/线程同步 使用线程肯定逃避不了共享资源的同步问题。 最简单的应该就是这样子: boost::mutex mutex; mutex.lock(); critical section; mutex
2013-04-23 11:27:16 6590
转载 C++11中的原子操作(atomic operation)
所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更高。在以往的C++标准中并没有对原子操作进行规定,我们往往是使用汇编语言,或者是借助第三方的
2013-04-23 10:57:49 79228 4
转载 C++0x 内存模型和原子操作 (std:::atomic memory order等相关资料)
并行编程的趋势不可阻挡啊,新的c++标准也加入了很多支持。内存模型和 std::atomic 的引入很值得学习吧,看facebook的开源c++库都用了很多c++ 11的特性了。 std::atomic 这些。网上看到的最详细清楚的解释是,C++ Concurrency in Action.pdf 一书的第五章5 The C++ Memory Model an
2013-04-23 10:55:58 8680
转载 stdcall、cdecl 和pascal简介
这三个参数都是告诉编译器参数的传递约定,参数的传递约定是指参数的传递顺序(从左到右还是从右到左)和由谁来恢复堆栈指针(调用者或者是被调用者),在 Win16下有两种约定: C 和 PASCAL。 C约定规定参数传递顺序是从右到左,即最右边的参数最先压栈,由调用者恢复堆栈指针。 PASCAL约定和C约定正好相反,它规定参数是从左向右传递,由被调用者恢复堆栈。
2013-04-21 22:25:00 1642
转载 使用Def文件导出Dll文件
本文介绍如何使用Def文件制作DLL。 模块定义 (.def) 文件是包含一个或多个描述 DLL 各种属性的 Module 语句的文本文件。如果不使用 __declspec(dllexport) 关键字导出 DLL 的函数,则 DLL 需要 .def 文件。.def 文件必须至少包含下列模块定义语句:文件中的第一个语句必须是 LIBRARY 语句。此语句将
2013-04-21 01:18:47 1001
protobuf-2.4.1
2018-01-25
很全的驱动开发工具大全
2009-06-19
MFC有界面RSA加密解密算法实现
2009-05-22
华为3com内部绝密培训资料linux 基础
2008-12-30
学生成绩单存取(MFC单文档文件的保存和打开的两种方法)
2008-12-30
司机售票员PV操作MFC程序模拟
2008-12-30
基于对话框的MFC程序加载位图为背景图案
2008-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人