自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (14)
  • 收藏
  • 关注

转载 站在巨人的肩膀上,C++开源库大全

程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统

2015-12-30 14:38:07 1229

原创 实现 boost lexical_cast(基本类型转换)

boost 中的lexical_cast专门用于基本数据类型转换 比如 int float bool double string ,但是使用时必须引入boost 库,如何自己实现一个相似的函数呢,答案便是使用到模板。实现如下:#include #include #include #include #include #include #include #include usi

2015-08-05 15:26:18 5885 1

原创 STD::MAP与结构体的互转

问题描述大概如下,一个已经存在的库a.lib,和服务器通信,全是通过结构体,或者基本数据类型进行的,现在额另外一个框架f,提供了c++和js交 互的方法,但只支持基本数据类型,std 容器,js里面的对象被映射成std::map供c++层访问,现在需要通过JS调用a.lib的接口,所以 自然想到的是,做一个中间层,把map转换成struct,还好,a.lib要求的结构体非常简单,所有成员只包括基本

2015-08-05 14:13:46 2797

原创 auto decltype 用于返回值类型后置时的占位

decltype是 GCC 实现的第一个 C++ 11 新特性。它实际上起源于一个相当古老的 GNU 扩展关键字——__typeof__。这个非标准关键字也能够在 C 语言中使用,GNU Compiler Collection 的专业用户可能对它更熟悉一些。2008 年,GCC 4.3.x 就实现了这个特性,同时去除了__typeof__的一些缺点。现在,decltype和__decltype两个

2015-08-05 12:17:54 2380

原创 C++ 组合函数

组合函数是将N个一元函数组成一种更复杂的函数,每个函数的返回值作为参数传给下一个函数,直到传到最后一个函数结束。这种组合函数的能力可以使我们以一种更直观的方式去完成复杂的链式执行行为。例如有三个函数:int f(int x), int g(int y), int h(int z)依次调用三个函数int a,b,c,parm; a = f(parm); b = g(a); c = h(

2015-08-05 11:33:06 2967

原创 可变模板参数

#include using namespace std;template class A;class B{private: int b = 1; template friend class A; };templateclass A{public: void fun(B b){cout<<b.b<<endl;}};int mai

2015-08-05 11:14:17 571

原创 C++多返回值

#include #include using namespace std;template struct _mr : _mr{ T& value; typedef _mr base_type; _mr(T& t, base_type& father) : value(t), base_type(father.value, st

2015-08-05 11:13:02 1425

转载 推荐!国外程序员整理的 C++ 资源大全

关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard

2015-07-13 15:49:59 983

转载 Hadoop多节点集群安装配置

1、集群部署介绍1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。对于Hadoop的集群来讲,可以分成两大类角色

2014-10-06 17:46:24 1183

转载 Centos 利用sqoop从sqlserver导入数据到HDFS或Hive

SQL Server Connect for Hadoop sqoop是一个开源的工具,能将数据表从关系数据库导入HDFS或Hive上。在安装sqoop之前,需安装好Hadoop和JAVA以及Hive。 sqoop的安装:sqoop的版本: sqoop-1.3.0-cdh3u1 (sqoop-1.3.0-cdh3u1.tar.gz) http://archi

2014-10-06 14:45:26 11693 1

转载 Centos 环境安装配置hadoop

目的:安装hadoopHadoop是需要在java环境下面运行,所以,首先要保证你的系统下面装有JDK。那么步骤是:配置SSH——安装JDK——安装hadoop(当然你愿意先安装它也完全没问题)——配置java的环境变量(需要知道java的安装路径)——配置namenode下面3个配置文件——格式化hadoop——启动hadoop。我们用一般用户登录,然后切换到root下面,因为权

2014-10-04 18:09:30 4207

转载 Ubuntu 上配置hive

在hdfs上建目录:[plain] view plaincopy$ hadoop fs -mkdir /tmp

2014-09-25 12:11:51 1127

转载 Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。伪分布模式(Pseudo-Distr

2014-09-25 11:30:01 689

转载 hashmap, map, vector, list ...hash table 的比较和分析

list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map在任何情况下都可以保证对数复杂度,原因是它保证存诸结构是完全二叉检索树,但这会在存诸上牺牲一些时间。STL   中的

2014-03-01 00:13:59 2890

转载 普通dll导出c++类

Balon白话MSDN:从普通DLL中导出C++类(1) – dllexport和dllimport的使用方法(中英对照、附注解)这几天写几个小程序练手,在准备将一个类导出时,发现还真不知道如果不用MFC的扩展DLL,是怎么导出的。但我知道dllexport可以导出函数和变量,而且MFC扩展DLL就算是使用了MFC的功能,但能否导出类应该也不是必须用MFC才能够做到,一定是有相应的机制可以

2013-09-29 18:37:20 1739

原创 C++ DLL __declspec(dllexport) & __declspec(dllimport) 解析

__declspec(dllexport)声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中 省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类__declspec(dllimport)声明一个导入函数,是说这个函数

2013-09-29 17:12:52 1882

转载 C++接口实现

面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。程序6步     1、首先我们需要一些宏: Cpp代码  

2013-09-27 16:50:11 1094

转载 C++异常机制的实现方式和开销分析

在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每个特性的实现方式及其时空开销。异常处理由于涉及大量底层内容,向来是 C++ 各种高级机制中较难理解和透彻掌握

2013-09-25 15:57:08 846

转载 RTTI、虚函数和虚基类的实现方式、开销分析及使用指导

“在正确的场合使用恰当的特性” 对称职的C++程序员来说是一个基本标准。想要做到这点,首先要了解语言中每个特性的实现方式及其开销。本文主要讨论相对于传统 C 而言,对效率有影响的几个C++新特性:编译时开销运行时开销相关文档:C++编码规范与指导C++异常机制的实现方式和开销分析多处理器环境和线程同步的高级话题C++0x(C++11)新特性点评相对于传统的 C 语言,C++

2013-09-25 14:19:36 817

转载 STL基础4:STL7个常用容器的比较

1.STL容器分类:STL的容器可以分为以下几个大类: 一 顺序(序列)容器, 有vector, list, deque, string,stack( 适配器类), queue( 适配器类), priority queues( 适配器类)二   关联容器,     有set, multiset, map, multimap, bitset,hash_set, hash_map,

2013-09-25 11:05:21 1046

转载 用gdb调试C与C++程序

1.         GDB简介:1)         介绍:GDB是Linux下一个GNU调试程序,是用来调试C与C++程序的强力调试器。能够让用户在程序运行时观察程序的内部结构和内存的使用情况。2)         功能:Ø 按照自定义的方式启动运行需要调试的程序。Ø 可以使用指定位置和条件表达式的方式来设置断点。Ø 程序暂停时的值的监视。

2013-09-23 17:58:39 727

转载 网络数据同步开发库libsync

"数据同步算法研究"一文提出了一种改进的数据同步算法,我在实现的原型系统基础上,将文件切分、差异编码、文件同步等关键算法抽取出来封装成动态开发库libsync,方便自己的开发应用。在本人开发的deduputil,WSIO, wsync等软件中,均使用了libsync动态函数库,现已将libsync发布至google code。libsync函数库由提供三个API,原型描述如下:1、in

2013-09-23 15:20:37 1269

转载 单链表的逆置-C++实现

对于单链表的逆置有两种方法可以实现:(1)利用辅助指针         基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。         实现代码:[cpp] view plaincopyprint?typedef int DataType; /

2013-09-17 21:09:56 1097

转载 内存泄露检测工具 Visual Leak Detector

Visual Leak Detector是过去(Visual Studio 2008的时代)我们常用的C/C++内存泄露检查工具。在Visual Studio 2010中依然可以使用该工具,但有两点需注意:版本问题设置变化版本问题:在codeproject.com上面提供的最新版本依然是1.9d,但是请注意,该版本在Visual Studio 2010下面表现非常差。网上有

2013-09-13 18:48:46 1211

原创 Crypto++学习总结---RSA

RSA使用方法如下:#include "randpool.h" #include "rsa.h" #include "hex.h" #include "files.h" #include using namespace std; using namespace CryptoPP; #pragma comment(lib, "cryptlib.lib") //------

2013-09-05 18:15:34 5508 1

原创 Crypto++学习总结---DES

DES 使用方法:#include #include #pragma comment( lib, "cryptlibD.lib" )using namespace std;using namespace CryptoPP;int main( void ){ //主要是打印一些基本信息,方便调试: cout << "DES Parameters: " << endl; c

2013-09-05 18:02:22 5568

原创 Crypto++学习总结---AES

AES 使用方法 如下://For AES encrypt#include "default.h" #include "cryptlib.h"#include "filters.h"#include "bench.h"#include "osrng.h"#include "hex.h"#include "modes.h"#include "files.h"using nam

2013-09-05 16:43:02 7850

原创 Crypto++学习总结---MD5

测试代码如下:#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1#include "md5.h"using namespace CryptoPP;#pragma comment(lib, "cryptlibD.lib") using namespace std;void main() { byte message

2013-09-05 16:28:58 5933

原创 Crypto++学习总结--算法介绍

Crypto++  算法介绍        Crypto++是开源的C++数据加密算法库,支持如下算法:RSA、MD5、DES、AES、SHA-256等等。对于加密有对称加密和非对称加密。  对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量

2013-09-05 15:54:34 5995 1

转载 开源免费的C/C++网络库(c/c++ sockets library)

(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html (2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com/

2013-09-03 19:02:18 1414

转载 复杂指针

int ( *fun( int( &a )[3][3] ) )[3]{ return a;}如何看懂这个函数呢?给你一个速成的方法,抛开右左法则的原理,直接看懂它:int ( *p )[3]你应该知道是什么吧?一个指向int[3]数组的指针,然后用fun( int( &a )[3][3] )代替p,由于fun是一个函数,于是代替p后,就是一个返回数组指针的函数,这个函数的

2013-09-03 13:00:48 658

转载 VC++常规错误之22:warning LNK4204缺少引用模块的调试信息;正在链接对象,如同没有调试信息一样

--------------------------------本文分2部分 第1部分:解决方法 第2部分:补充了解资料,为什么这样做------------------------------------------------------------------------------------------------ 第1部分:解决方法-------------------------

2013-07-19 11:32:38 11432

原创 如何妙用二级指针

如果要删除单向链表会如何做呢,很多人可能会使用一个Pre指针(很多教科书上也是如此实现的),如下代码typedef struct node { struct node * next; .... } node; typedef bool (* remove_fn)(node const * v); // Remove all nodes from the su

2013-07-08 15:31:16 1032

原创 进程线程 关系

线程与进程的关系一般将进程定义成一个正在运行的程序的一个实例,它由以下两部分构成。一个内核对象,操作系统用它来管理进程。内核对象也是系统保存进程统计信息的地方。 一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。此外,它还包含动态内存分配,比如线程堆栈和堆的分配。  进程要做任何事情,都必须让一个线程在它的上下文中运行。该线程负责执行进程地址空间包含的代码。事实上,

2013-06-19 17:33:56 744

转载 socket阻塞与非阻塞,同步与异步、I/O模型

socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了

2013-03-07 17:14:05 1221

转载 计算机程序设计的史诗TAOCP

倘若你去问一个木匠学徒:你需要什么样的工具进行工作,他可能会回答你:“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师,他会告诉你“我需要一些精确的工具”。由于计算机所解决的问题都是从生活中抽象出来的问题,其复杂性不言而喻,所以我们需要这样精确有效的工具去解决现实生活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个程序员都十分清楚的。

2013-01-22 14:41:21 963

转载 Windows 各种计时函数总结

本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock()不仅可以用在Windows系统,也可以用于Linux系统。在Windows系统下三种,使用Windows提供的API接口timeGetTime()、GetTickCount()及QueryPerf

2013-01-21 16:54:56 964

原创 经典线程同步总结 关键段 事件 互斥量 信号量

下面再列出从《计算机操作系统》一书中选取的一些关于线程同步互斥的描述。相信先有个初步而模糊的印象再看下权威的定义,应该会记忆的特别深刻。1.线程(进程)同步的主要任务答:在引入多线程后,由于线程执行的异步性,会给系统造成混乱,特别是在急用临界资源时,如多个线程急用同一台打印机,会使打印结果交织在一起,难于区分。当多个线程急用共享变量,表格,链表时,可能会导致数据处理出错,因此线程同步的主要

2013-01-21 14:43:33 596

转载 关键段,事件,互斥量,信号量的“遗弃”问题

一.什么是“遗弃”问题互斥量常用于多进程之间的线程互斥,所以它比关键段还多一个很有用的特性——“遗弃”情况的处理。比如有一个占用互斥量的线程在调用ReleaseMutex()触发互斥量前就意外终止了(相当于该互斥量被“遗弃”了),那么所有等待这个互斥量的线程是否会由于该互斥量无法被触发而陷入一个无穷的等待过程中了?这显然不合理。因为占用某个互斥量的线程既然终止了那足以证明它不再使用被该互斥量保

2013-01-21 14:05:59 640

转载 信号量Semaphore

首先也来看看如何使用信号量,信号量Semaphore常用有三个函数,使用很方便。下面是这几个函数的原型和使用说明。第一个CreateSemaphore函数功能:创建信号量函数原型:HANDLECreateSemaphore( LPSECURITY_ATTRIBUTESlpSemaphoreAttributes, LONGlInitialCount, LONGlMaxim

2013-01-21 11:18:55 808

Installshell2018 安装包和注册机

installshell 2018安装包与破解工具,上传的是百度网盘 连接 请自行下载

2018-06-14

Crypto++ 编译完成的静态库

Crypto++ 编译完成的静态库 解压到C盘 VS包含进来头文件便可立马使用,包括使用列程代码。

2013-09-05

VisualAssistX_10.7.1916(完美破解VC6.0 VS 2005、2008、2010、2012) 包括破解方法

VisualAssistX_10.7.1916(完美破解VC6.0 VS 2005、2008、2010、2012) 完美破解多个版本 注册机和手动两种破解方法。现在没必要为每个版本下载编程助手破解了。

2012-12-28

MFC 多语言系统制作

通过一个检测的的例子了解MFC多语言系统的制作。

2012-09-18

log4Cplus 使用查询文档(使用书册)完美版

log4Cplus 使用查询文档(使用书册)完美版,同时你也可以在我的资源中下载最新版本的Log4Cplus 开源库安装编译文件 里面包含VC6.0 和VS2008 工程项目

2011-09-25

log4Cplus 开源库最新版本

log4Cplus 最新版本的rar log4Cplus是强大的日志开源库,

2011-09-25

人脸库 opencv 人脸识别

用于人脸识别的很好人脸库 opencv C++ 人脸匹配库

2011-09-18

opencv 查询手册

最全的opencv函数查询手册,根据官方网制成。里面加入很多的最新函数

2011-07-02

C++ 设计模式 (C++ 设计模式精解 + 代码实现)

C++设计模式 ,包含了23中经典的设计模式

2011-06-26

Visual+C++_DirectX9+3D游戏开发导引[1].全书.rar

Visual+C++_DirectX9+3D游戏开发导引[1].全书.rar,只需5分!!!

2011-05-13

LWUIT最新工具包

Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich 使用LWUIT的应用程序界面 控件, 3D集成, Painter, 模式对画框, I18N/L10N

2010-09-27

win7类型的MFC

界面显示与win7风格相同 现在在学习C++的爱好者,如有兴趣的可以看一下

2010-09-27

Java仿千千静听音乐播放器源代码

用Java做得超牛比的播放器,跟千千静听可媲美。值得学习的代码。学习音频的Java爱好者不可不看哦。

2010-07-17

Java Media包

添加可以播放Mp3或其他格式的音频文件,可用于Java音频的开发等等

2010-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除