自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (7)
  • 收藏
  • 关注

原创 std::sort 宕机

一次公司项目代码引发了宕机,源于std::sort。相似代码贴在下面。由于std::sort 第三个参数写的不对造成的。源码:using Vec = std::vector<std::pair<int, int>>;void print_elem(const Vec& vec, const std::string& str){ std::stringstream oss; for (const auto& item : vec)

2021-09-23 17:36:03 677

原创 关于 std::sort 不稳定的研究

概述std::sort 是不稳定的排序。在使用的时候,需要严格遵守排序准则,否则会导致异常产生。问题描述外网玩家发来bug:某天晚上,一个排行榜发生第一名A和第二名B,在数据为发生变化的情况下,会不停的交替更换。经查,该排行榜的排序规则functor 是bool compare_function(const std::shared_ptr<Data> lhs, const std::shared_ptr<Data> rhs){ if (lhs-&gt

2020-10-10 18:18:35 1041

转载 Linux Bash Shell入门教程

BASH 的基本语法最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     最简单的例子 —— Hello World!几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例

2013-05-29 23:48:50 1358

转载 在vs2010中编译log4cxx-0.10.0详细方法

http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html

2013-03-04 22:33:19 928

转载 C++日志系统log4cxx使用总结

http://blog.sina.com.cn/s/blog_a459dcf501013mr1.html

2013-03-04 22:32:33 814

转载 viminfo文件了解

在编辑文件之后退出时,vi(vim)提示”Can’t write viminfo file”错误,了解一下viminfo文件:    第一,viminfo 文件是什么东西?    信息文件 viminfo 被设计为储存状态信息:    命令行和模式搜索的历史记录    寄存器内文本    各种文件的标记    缓存器列表    全局变量

2013-01-06 00:42:16 6698

原创 鸟哥的linux私房菜

http://vbird.dic.ksu.edu.tw/

2012-12-08 18:07:06 4112

转载 [精华] 跟我一起写 Makefile

陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefi

2012-12-08 18:06:23 1337 1

原创 Unable to locate package build-essential

在安装 g++ 等工具时 会提示 Unable to locate package build-essential,这种情况下先执行 sudo apt-get update 更新一下, 更新完。继续 sudo apt-get install build-essential在文件无法保存的时候, 可以使用命令 sudo vim ./etc/apt/sources.list  可以实现保存

2012-12-01 21:22:25 31811 3

原创 Linux编程工具集锦

http://wenku.baidu.com/album/view/d65c5d323968011ca3009168?pn=0#albumDocs

2012-07-15 18:11:16 788

原创 Linux操作系统专题

http://wenku.baidu.com/album/view/4a5db78271fe910ef12df833

2012-07-15 17:35:21 434

转载 ASIO学习

boost::asio::Io_service构造函数构造函数的主要动作就是调用CreateIoCompletionPort创建了一个初始iocp。Dispatch和post的区别Post一定是PostQueuedCompletionStatus并且在GetQueuedCompletionStatus 之后执行。Dispatch会首先检查当前thread是不是io_serv

2012-05-24 10:30:31 1067

原创 Linux内核的时钟中断机制

http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=driver&Number=385219&page=0&view=collapsed&sb=5&o=all

2012-04-12 15:48:23 879

转载 西安信息资源网

http://www.infoxa.com

2012-03-01 20:33:16 1327

转载 Mysql数据库相关资料索引(2010年7月及以前资料)

mysql 相关资料链接一、基础知识1.mysql入门mysql简介mysql 5入门实践mysql初学者使用指南常用mysql命令集锦Mysql的技术特点Mysql 日志文件简述mysql存储引擎简述Mysql慢查询日志mysql学习

2011-08-24 20:00:54 1320

转载 MySQL索引背后的数据结构及算法原理

在编程领域有一句人尽皆知的法则“程序 = 数据结构 + 算法”,我个人是不太赞同这句话(因为我觉得程序不仅仅是数据结构加算法),但是在日常的学习和工作中我确认深深感受到数据结构和算法的重要性,很多东西,如果你愿意稍稍往深处挖一点,那么扑面而来的一定是各种数据结构和算法知识。例如几

2011-08-21 20:28:07 957

原创 一个很好的学习Boost库的网站

<br />http://zh.highscore.de/cpp/boost/

2011-04-10 23:59:00 982

转载 Boost 库中的实用工具类使用入门

<br />       简介: 实用工具类开发和维护会耗费程序员的时间。Boost 通过提供几个高质量的库,从而简化了此过程,您可以将这些库轻松集成到现有的代码库中。本文简单概述一些较流行的 Boost 实用工具类,并帮助您了解如何将它们投入使用。<br /> <br />实用工具类(utility classes)在几乎任何适当规模的 C++ 项目中都是必需的,但是不存在满足此需求的标准方法。通常,团队根据他们的需求编写实用工具类代码,但是由于缺少重要的接口信息,使得相同组织中的其他项目团队无法重用那些

2011-03-24 11:05:00 892

转载 c++boost组件简介:数据结构,容器,迭代器和算法

<br />简介:这是c++boost组件简介:数据结构,容器,迭代器和算法的详细页面,介绍了和c/c++,,c++,boost,组件简介:数据结构,,容器,,迭代器和算法,,,,有关的知识、技巧、经验,和一些c/c++源码等<br /> <br /> 数据结构, 容器, 迭代器, 和算法boost.any<br />any库支持类型安全地存储和获取任意类型的值。当你需要一个可变的类型时,有三种可能的解决方案:<br />无限制的类型,如 void*. 这种方法不可能是类型安全的,应该象逃避灾难一样避免它。

2011-03-13 16:06:00 1645

转载 Visual.Assist.X.V10.6.1825正式发行版 以及的破解补丁[推荐]

<br />VA更新速度真快,又针对VS2010更新很多了,<br />现提供破解补丁和VA软件安装文件一起打包,<br />VA安装文件从官方下载可放心使用,如果你不放心可以自己去官方下载最新版,<br />官方地址<br />破解补丁来自吾爱破解<br />下载地址<br />此次VA安装包可以不分VS版本,一次安装共所有版本使用.<br />下载安装完毕之后,直接运行补丁,点击patch即可,输入你要注册的用户名,<br />补丁会自动覆盖安装文件下的VA_X.dll文件,此方法安装后vs6到vs20

2011-01-21 10:14:00 1218

转载 C++资源之不完全导引

<br />本文为介绍性文章,会随笔者学习C++语言不断更新。<br />前言<br />无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它的学习者望而却步,欲求深入者苦不堪言。

2010-11-26 15:57:00 2375

转载 WinSock学习笔记(一)

<br /> Socket(套接字)<br /><br />◆先看定义:typedef unsigned int u_int;typedef u_int SOCKET;<br />◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。<br /><br />◆Socket有五种不同的类型:<br /><br />1、流式套接字(stream socket)<br />定义:#define SOCK_STR

2010-11-19 11:44:00 525

转载 WinSock学习笔记(二)

<br /> <br /><br /> 与socket有关的一些函数介绍<br /><br />1、读取当前错误值:每次发生错误时,如果要对具体问题进行处理,那么就应该调用这个函数取得错误代码。 int WSAGetLastError(void );#define h_errno WSAGetLastError()<br />错误值请自己阅读Winsock2.h。<br /><br />2、将主机的unsigned long值转换为网络字节顺序(32位):为什么要这样做呢?因为不同

2010-11-19 11:40:00 645

转载 如何编译64位( 64bit ) boost类库

<br /> 64位windows平台,编译环境是VS2005,进入Visual Studio 2005 x64 Win64 Command Prompt(单纯的cmd也不一定不行,我没试)。把bjam.exe放在boost根目录下,进入根目录,执行:     bjam --toolset=msvc address-model=64 --with-thread stage    bjam --toolset=msvc address-model=64 --with-date_time stage    关键

2010-11-17 11:51:00 13059 1

转载 浅谈C++中内存泄漏的检测

<br />首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。<br />最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:<br />一. 在 MFC 中检测内存泄漏<br />假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。<br />我们用VS2005生成了一个MFC的对话框的程序,发现他可以自动的检测内

2010-11-16 13:56:00 840

转载 std::vector与std::list的执行速度比较 (C/C++) (STL)

<br />STL中的container各有专长,最常用的是std::vector,可以完全取代array,第二常用的是std::list。std::vector的优点在于non-sequential access超快,新增数据于数据后端超快,但insert和erase任意资料则相当缓慢;std::list则是insert和erase速度超快,但non-sequential access超慢,此范例以实际时间比较vector和list间的优缺点。<br />  1/**//* <br />  2(C) OO

2010-11-04 15:37:00 3125

转载 根据STATUS信息对MySQL进行优化

公司的nagios监控服务器长期对内网用MySQL数据库发出ctritical报警,因为我将其他同事的手机短信报警也开通了,搞得整个系统组的同事都怨声载道(呵呵)这时候就需要根据其status对其Mysql数据库进行优化了,这时候可以等MySQL服务器稳定运行了一段时间后运行,根据服务器的“状态”进行优化。mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%'; mysql> show varia

2010-10-18 18:49:00 536

转载 mysql 5.0中的profile功能

<br />在MYSQL的5.0.37版本以上,支持profile的功能; <br />小结如下: <br />show profile 的格式如下: <br /><br />SHOW PROFILE [type [, type] … ] <br />    [FOR QUERY n] <br />    [LIMIT row_count [OFFSET offset]] <br /><br />type: <br />    ALL <br />  | BLOCK IO <br />  | CONTEXT

2010-10-18 15:21:00 729

转载 std::map C++

std::map C++<br />C++ Builder2010-06-04 11:37:53阅读226评论0  字号:大中小 订阅<br />std::map 再学习<br />1.         map中的元素其实就是一个pair。<br />2.         map的键一般不能是指针,比如int*,char*之类的,会出错。常用的就用string了,int也行。<br />3.         map是个无序的容器,而vector之类是有序的。所谓有序无序是指放入的元素并不是按一定顺序放进去的

2010-10-12 18:56:00 1936

转载 C++中的指针与引用

http://www.eb163.com/home/space-20374-do-blog-id-5590.html

2010-10-12 18:06:00 658

转载 关于MYSQLIMPORT的详细解释

<br />http://xiayh04.javaeye.com/blog/669052<br /> <br />或者 http://blog.chinaunix.net/u/29134/showart_370194.html<br /> <br />或者 http://blog.sina.com.cn/s/blog_4758c86d0100g8du.html

2010-10-10 01:25:00 943

原创 Dump 文件生成与分析

<br />     最近两天由于项目的需要,研究了一下Dump文件相关的知识,今天做一个小节(由于研究不久并且第一次写blog,希望网友们看到不要见笑)。<br />     Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。 <br />   Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。<br />     当我们的程序发布出去之后,在客户机上是无法跟踪自己代码的bug的,所以Dump(扩展名是 .dmp

2010-10-05 20:41:00 51519

转载 利用VS2005进行dump文件调试(转)

http://arizona.javaeye.com/blog/711029

2010-10-03 16:04:00 1613

转载 通过分区(Partition)提升MySQL性能

通过分区(Partition)提升MySQL性能               ——MySQL5.1新特性翻译系列几年前,俺写过一篇题为“The Foundation of Excellent Performance”的文章(现在仍然可以在http://www.tdan.com/i016fe03.htm看到),俺对SQL语句是影响数据库驱动系统性能的第一要素的观点有点质疑。其实在那时我在文章中就坚信数据库的物理设计在对高级数据库的性能影响上远比其他因素重要。同时俺还给大家看了Oracle的研究,他们解释了为什

2010-09-27 15:47:00 449

转载 MySQL的sql mode介绍

http://wshdzkd.javaeye.com/blog/456238http://blog.sina.com.cn/s/blog_4027f79a0100eo07.html

2010-09-09 12:25:00 448

转载 挂钩技术学习笔记

<br />这篇文章是学习WINDOW编程中的一篇文章.以后还会有更多的学习笔记.本来我这个人是比较懒的,.学完的东西又不会做笔记.所以经常是看完后,没多久就忘光光了.这样导致了我学习东西非常的没有效率.因此以后每学一些东西都会做写笔记,或画一些简单的图<br />. <br /> <br /> <br />HOOK分为三种:LOCAL HOOK 和 REMOTE HOOK,还有一种是<br />SYSTEM-WIDE <br /> <br /> <br />LOCAL HOOK。LOCAL HOOK就是指

2010-09-08 21:06:00 566

转载 Windows挂钩的简单使用

<br />最近手机上的短信存储器快满了,应该删除一些短信以留出一些空间,但是有好多短信是各个MM发过来的,舍不得就这么删除了,想导出到电脑里面保存起来。万一哪天MM成了我女朋友了,有机会的时候可以给她看看,说明我是这么珍惜跟她相关的点点滴滴。^_^于是用数据线把手机连接到电脑上,打开EasyGPRS软件,读取手机中的短信到列表窗口中。但是可惜的是EasyGPRS软件没有提供导出短信内容的功能,于是只好自己想办法了。当然最简单的方法是,把各条短信的接收时间,对方号码,内容等信息在电脑上输入一遍,保存到文件中

2010-09-08 18:13:00 1056

转载 应用调度和锁定对MySQL查询执行 优化

<br />数据库管理员工作中常会遇到让单独的查询执行的速度变快。MySQL还允许你改动语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改动优先级还可以确保特定类型的查询被处理得更快。下面我们来讲解MySQL的默认的调度策略和可以用来影响这些策略的选项。还有并发性插入操作的运用和存储引擎锁定层次对客户端的并发性的影响。为了讨论的方便,我们把执行检索(SELECT)的客户端称为"读取者",把执行修改操作(DELETE、INSERT、REPLACE或UPDA

2010-09-08 16:06:00 1571

转载 Linux环境进程间通信(五): 共享内存(下)

<br />级别: 初级<br />郑彦兴 ([email protected]), 国防科大攻读博士学位<br />2003 年 5 月 01 日在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面。<br />系统调用mmap()通过映

2010-09-06 17:57:00 423

转载 Linux环境进程间通信(五): 共享内存(上)

<br />级别: 初级<br />郑彦兴 ([email protected]), 国防科大攻读博士学位<br />2003 年 5 月 01 日共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。<br />采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而

2010-09-06 17:56:00 432

两台服务器实现mysql的双向同步

Mysql双向同步中的两台服务器不能同时对外服务,双向同步只是为了方便当主服务器从故障中恢复的时候能自动从备份服务器更新数据。

2010-05-28

MySql API和库(中文版)

MySql API和库,包括每个函数的描述和用法实例,比较好的资料分享!

2009-08-06

MySql网络数据库编程指南

全套资料为MySql基础只是,数据库编程,包括PHP,PERL,C、C++方面的编程,很有用哦。。

2009-07-31

常见设计模式解析与实现

本资料含有20个设计模式的详细介绍和相关源代码共享!

2009-07-15

《WinForms高级应用开发》PPT

《WinForms高级应用开发》PPT文件,由于文件大,分别上传!

2008-08-26

Microsoft Visual Studio 2005 快捷键

文件中提供了该软件使用过程中方便使用的各个快捷键,使您在C#编程的时候效率更高!

2008-08-26

空空如也

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

TA关注的人

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