自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 C++网络库总结

1. ACE - Adaptive Communication Environment http://www.cs.wustl.edu/~schmidt/ACE.html 2. Common G++ (GNU) http://www.gnu.org/software/commoncpp/ 3. Socket++ version 1.11 http://www.cs.utexas.edu/u...

2011-03-11 09:36:29 182

原创 mysqldump备份时出现when using LOCK TABLES

 mysqldump备份时出现when using LOCK TABLESmysqldump: Got error: 23: Out of resources when opening file '.\discuz\ecs_user_address.MYD' (Errcode: 24) when using LOCK TABLES解决办法,加上-skip-lock-tables选...

2011-03-09 19:06:35 482

原创 MySQL数据库存储引擎和分支现状

 在MySQL经历了2008年Sun的收购和2009年Oracle收购Sun的过程中,基本处于停滞发展的情况,在可以预见的未来,MySQL是肯定会被Oracle搁置并且逐步雪藏消灭掉的。MySQL随着相应的各主创和内部开发人员的离去,缔造了各个不同的引擎和分支,让MySQL有希望继续发扬光大起来。  本文大致讲解一下MySQL目前除了主要的 MyISAM、InnoDB、Heap(Memor...

2011-03-02 17:56:56 128

原创 C++0x探秘:访C++之父Bjarne Stroustrup

 C++0x作为C++的下一个国际标准,已经在业界热炒多年。但是,尽管业界对这个新标准千呼万唤,她总是不愿意过早地来到我们面前。在最近一次CodeGuru对C++之父Bjarne Stroustrup博士的采访中,C++之父终于给我们带来了好消息C++0x的标准化工作已经接近尾声,C++0x呼之欲出。下面是整个采访过程的节选,我们可以通过这个访谈,掀起C++0x的盖头来,了解C++0x的...

2011-03-01 09:10:00 189

原创 Facebook分布式日志收集框架——Scribe

 Scribe是用来收集日志的服务器。它具备很强的扩展能力,并且网络故障及服务器节点故障,都不会对日志收集造成影响。大规模集群系统中每个节点上都运行了一个Scribe服务,这个Scribe服务器可以收集信息然后将信息发送到一个中央Scribe服务器(也可以是多个中央Scribe服务器),如果中央Scribe服务器(或中央服务器组)出现故障不可用的话,各个节点的Scibe服务器就会将日志信息写到...

2011-02-28 09:33:44 253

原创 Boost库

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。可从http://sourceforge.net/p...

2011-02-27 00:25:23 111

原创 整库备份mysql

我们经常要对数据库做备份,库里面有好几个schema,挺麻烦的,写个脚本,嗯,方便目前的用户名,密码,host都是写死在脚本里,这样比较方便,有需要的朋友可以把他改成读参数的,或者是windows风格的下一步 #!/bin/bash t=`date +%Y%m%d_%H%M` p_user=root p_pwd=123456 p_host=127.0.0.1 #从数据库中...

2011-02-27 00:23:42 96

原创 C++中的内联函数

C++中存在一些具有特殊意义或功能的特殊函数,我们来简单介绍一下内联函数。从软件工程的角度来看,我们通常将一个程序通过一组函数来进行实现,但是函数的调用涉及到执行时间的开销,如果有的函数需要频繁使用,则累计占用的时间会很长,所以C++提供了内联函数的机制来提高效率,也就是在编译时将所调用的函数的代码嵌入到主函数中,这种嵌入到主函数中的函数称为内联函数。内联函数的实现方式:...

2011-02-27 00:21:19 109

原创 5款主流开源企业级数据库选型纵览

c++编程网开源数据库使得信息处理的成本降低,强有力的数据库解决方案进入更多的企业,特别是中小型企业。同时,随着开源数据库在功能上的日益强大和完善,以及人们对其了解的深入,开源数据库在中小型企业中将会有更广泛地应用。下面,笔者为大家介绍5款主流开源数据库软件,也许它正是你正在使用的,也许是你关注的,在这里,你可以了详细了解它们的技术优势。1、MySQL作为当今最流行的开源数据库之一...

2011-02-26 14:11:05 370

原创 为了练好口语,你敢不敢每天读一遍,坚持一个月?

为了练好口语,你敢不敢每天读一遍,坚持一个月?首次分享者:杰 已被分享2067次 评论(0) 复制链接 分享 转载 举报What are you trying to say?(你到底想说什么?) Don't be silly.(别胡闹了。) How strong are your glasses?(你近视多少度?) Just because.(没有别的原因。...

2011-02-17 09:22:12 122

原创 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。工厂方法工厂方法是针对每一种产...

2011-02-16 13:58:23 103

原创 linux kernel中的免锁算法

     在《LINUX设备驱动程序》(第三版)有几页对免锁算法的实现进行了分析。对于作者的分析有两点我想在这里作更加细致的说明。一是作者对循环缓冲的分析,当缓冲区满时分析错了;二是作者没有对里面的实现技巧作详细的介绍。针对以上两点,本文就用2.6.11(2.6.10和2.6.11是一样的)的kfifo.h和kfifo.c代码实现的免锁算法进行较为详细的分析。        对于临界区的访...

2011-02-15 12:55:36 229

原创 socket编程

希望看了以后对socket编程有更加深入的了解。接着直接上图说明socket编程的连接过程,图文结合更易于理解,图片是网上找的:第一幅:STREAM方式(TCP)连接流程: 第二幅:DGRAM(UDP)连接流程:c++编程网...

2011-02-09 17:17:19 101

原创 C/C++中可变参数的用法

在C/C++函数中使用可变参数,下面介绍在C/C++里面使用的可变参数函数。先说明可变参数是什么,先回顾一下C++里面的函数重载,如果重复给出如下声明:int func();int func(int);int func(float);int func(int, int);...这样在调用相同的函数名 func 的时候,编译器会自动识别入参列表的格...

2011-02-02 22:49:24 215

原创 关于指针和内存的那些大事(面试题)

C关于指针和内存的那些大事 对于C的指针使用和内存分配,我想每一个C程序员在使用时都心惊胆寒,至少我是这样的. 现在我终于找到了自己的圣经,那就是林锐博士在他的<<高质量C/C++编程>>里讲的知识,在这里感谢林锐老师写了这本书,让我和向我一样对pointer&&...

2011-02-02 16:52:18 184

原创 常见开源许可协议(共享协议)的比较与浅析

关于开源与许可协议开源,其实并不仅仅是适用于对某种软件生产过程的描述,准确的定义参照维基百科:开放源代码描述了一种在产品的出品和开发中提供最终源材料的做法。也就是说存在开源的硬件甚至别的产品。不过我们还是主要针对“代码”来讨论下面的各种协议。许可协议是一种作者或者生产过程参与者出让自己产品或工作的部分权利的授权方式,往往具有法律效益,通过指定或应用一种许可协议可以方便的处理这种授权时...

2011-02-02 16:38:23 827

原创 Linux系统编程 --- 如何列出一个目录下面的所有文件

    linux平台可以使用opendir函数来打开一个目录,用readdir读取目录当中的一个entry(一个entry可以是子目录,文件,软硬链接等),如果需要读取所有目录下面的文件,需要使用while((entry = readdir(dp))) 来读去每个entry,直到读取的entry == NULL。       还有需要注意的就是目录打开之后,需要自己关闭的,可...

2011-02-02 16:34:17 605

原创 MFC类库结构、编号和 Visual C++ 版本编号

c++编程网MFCVisual C++MFC 1.0 版Microsoft C/C++ 7.0 版MFC 2.0 版Visual C++ 1.0MFC 2.5 版Visual C++ 1.5MFC 3.0 版Visual C++ 2.0MFC 3.1 版Visual C++ 2.1MF...

2011-02-02 16:27:14 221

boost 使用三

boost regex默认使用perl正规表达式。在未指定情况下使用贪婪模式匹配。使用?可以指定为非贪婪模式,下面是维基上的描述: ?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串「oooo」,「o...

2011-02-02 13:29:15 141

原创 linux utf8与gb2312转换函数

#includeiostream>#includeiconv.h>using namespace std;int utf8togb2312(const char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen){ iconv_t cd; if( (cd = iconv_open("gb2312...

2011-02-02 13:14:50 170

原创 ATL ActiveX控件中用WTL::CButton动态添加按钮代码步骤

ATL ActiveX控件中用WTL::CButton动态添加按钮代码步骤首先必须是添加了一个ATL控件,生成了相应的类了。1,包含头文件#include <atlctrls.h>2,定义资源ID#define IDC_BTN_PLAY 60003,在类声明中定义成员。CButton m_btnPlay;4,在WM_CREATE消息中 RECT rc...

2011-02-02 10:51:42 133

ifstream读取文件至string stringstream

std::ifstream inf("dangdang.txt",ios::in|ios::binary) ;stringstream in ;in << inf.rdbuf() ;cout << in<< endl ;printf("%s" , in.str().c_str()) ; 

2011-01-31 13:24:24 3826

原创 C++生成随机数——生成任意范围内的等概率随机数

如果让你用C++来生成0——N-1之间的随机数,你会怎么做?你可能会说,很简单,看:srand( (unsigned)time( NULL ) );rand() % N;仔细想一下,这个结果是随机的吗(当然,我们不考虑rand()函数的伪随机性)?不是的,因为rand()的上限是RAND_MAX,而一般情况下,RAND_MAX并不是N的整数倍,那么如果RAND_MAX % ...

2011-01-31 09:19:54 1162

原创 C++中获取高精度时间差

解决一个问题通常有多种方法, 我们总想找到最高效的,所以需要对比不同算法执行所用的时间。可惜的是,C++中提供的方法一般只能精确到毫秒级。  提供一种更加精确的方法。编写一个函数,可以在C++中这样写:  __declspec (naked) unsigned __int64 GetCpuCycle( void )  {  _asm  {  rdtsc  ret  ...

2011-01-31 09:12:42 567 1

原创 stl::string与二进制数据

C99 有很多和 string 相关的函数,如 strcat , strchr , strcmp , strcpy , strlen , strncat , strncmp , strncpy 等。然而使用 C++ 编程时,所有和 string 相关的操作均可以使用 string 类的相关接口完成, string 提供和原来 C 接口类似的功能和性能,同时提供更高的安全性。 String ...

2011-01-31 09:07:23 405

原创 c++中new和delete的使用方法

new用法:           1.      开辟单变量地址空间                1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a.                 2)int *a = new int(5) 作用同上,但是同时将整数赋...

2011-01-30 17:50:32 185

原创 Linux自启动脚本编写(RH series)

这里以ASSP(Anti-Spam SMTP Proxy)为例,介绍下自启动脚本:#!/bin/sh -e# Start or stop ASSP# chkconfig:345 89 17# description: “Anti-Spam SMTP Proxy”PATH=/bin:/usr/bin:/sbin:/usr/sbincase “$1″ instart...

2011-01-30 17:44:50 191

原创 教你在Linux操作系统中如何创建函数库

 函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。  程序1: hello.h以下是代码片段:    #ifndef HELLO_H   #define HELLO_H   void ...

2011-01-30 17:40:33 181

原创 BP算法

//---------------------------------------------------------------------------------------//// BP算法例子:用一个五层的神经网络去逼近函数 //// f(x1,x2)=pow(x1-1,4)+2*pow(x2,2) ...

2011-01-30 17:37:23 120

原创 java与c/c++之间的数据交互-----jni点滴

java与c/c++之间的数据交互-----jni点滴【转】 最近作一个tiemsten数据库的项目,用到了jni技术。在这个项目中,我们用java来写界面和业务逻辑,用c语言写数据库odbc访问。单纯的odbc其实没有什么难的,但是在java和c之间进行数据传递是比较麻烦的事情。两者之间数据的传递有这样几种情况:java和c之间基本数据类型的交互,java向c传递对象类型,c...

2011-01-30 17:31:09 281

原创 C/C++读写文件实例

// OptFile.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string.h>using namespace std; //!计算字符串的长度int myStrlen(const char pStr[]){ fo...

2011-01-30 17:25:36 143

boost 使用(二)

今天试了使用下boost的regex库。这个库与boost其它类库有些不一样,使用需要编译。在vs2003平台下编译了下,发现需要注意几个问题。1. VS IDE需要nmake进行编译。在编译前要先执行vcvars32.bat。这个批处理文件在VS目录下,是用于vs配置系统变量。2.设置好系统变量后,在命令行下进入< boost >\ libs \ re...

2011-01-30 13:17:41 99

boost 使用(一)

Boost库很早就听过大名,不过一直在使用ACE,ICE这些库,没机会接触。今天就下了个过来学习下,还真和其它开源库有些不一样。首先在使用方法上就不一样,ACE,ICE这些开源代码在使用时以lib方式提供。而boost则只有头文件,只要在使用时包含就可以。 下面是boost提供的文档的说明:Header-Only Libraries...

2011-01-28 13:48:13 167

原创 C++ 无名对象

可以直接调用构造函数产生无名对象。例如,下面的代码在函数fn()中,创建了一个无名对象: class Student{public: Student(char*);};void fn(){ Student("Randy"); // 此处为无名对象}   无名对象可以作为实参传递给函数,...

2011-01-28 13:05:28 269

空空如也

空空如也

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

TA关注的人

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