自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++new和delete实现原理

new和delete最终调用malloc和free,关于malloc和free实现原理参见这篇文章:http://blog.csdn.net/passion_wu128/article/details/38964045newnew操作针对数据类型的处理,分为两种情况:1,简单数据类型(包括基本数据类型和不需要构造函数的类型)代码实例:[cpp

2017-08-17 14:49:42 387

转载 【解决问题】windows下配置Boost提示'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件

在windows10下配置Boost,按照网上的教程,运行批处理bootstrap.bat,直接双击bootstrap.bat 闪退。下面是报错内容:后来经过查询。发现问题出在,我的VS2013安装卸载后,又重新安装在了其他的路径。但是环境变量里头的路径还是没有变化,还是老路径。所以出现了问题。下面是解决问题的方法:检查是否有类似如下格式的环境变量VSXXCOMNTOOLS

2017-02-20 11:30:26 6604 1

转载 C++ Boost库的编译及使用

Boost库下载地址编译生成boost的自用的编译工具bjam.exe解压后,使用Visual Studio 编译。首先打开“Developer Command”,cd到boost解压后的根目录:cd X:\boost_X_XX_X执行bootstrap.bat,会在boost根目录生成 b2.exe 、bjam.exe 、project-config.ja

2017-02-20 11:29:20 658

转载 QT 线程池 + TCP 实战笔记

很久以前做过ACE + MFC/QT 的中轻量级线程池应用,大概就是利用线程池执行客户机上的运算需求,将结果返回。ACE是跨平台重量级的通信中间件,与常见的应用程序框架需要精心契合,才能不出问题。最近想到既然QT框架本身就已经具有各类功能,何不玩一玩呢,那就开搞!这个实验的代码可以从我的资源内下载。第一步打算实现的模式,我们需要一个设置为CPU核心数的线程池,这个线程池可以异步接受N个数据

2016-10-11 10:34:16 1547

转载 C++函数模板 模板实例化、具体化

函数模板是C++新增的一种性质,它允许只定义一次函数的实现,即可使用不同类型的参数来调用该函数。这样做可以减小代码的书写的复杂度,同时也便于修改(注:使用模板函数并不会减少最终可执行程序的大小,因为在调用模板函数时,编译器都根据调用时的参数类型进行了相应实例化)。下面来看看函数模板的使用过程:struct job{    char name[20];    int sa

2016-08-31 10:42:46 329

转载 DLL的进入退出——由DLL_PROCESS_ATTACH而联系搜索起来。

线程可以调用GetModuleHandle函数来判断一个DLL是否被载入了进程的地址空间, HINSTANCE GetModuleHandle(LPCTSTR lpszModuleName); 例子: HINSTANCE hinstDLL; hinstDLL = GetModuleHandle(“SomeDLL.dll”); 

2016-06-23 11:24:04 1655

转载 SQL语句优化技巧

1、应尽量避免在 where 子句中使用!=或2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没

2016-06-15 15:24:12 206

转载 Git回滚的常用手法

传统VCS的回滚操作对于版本控制系统VCS来说,回滚这个操作应该是个很普通也是很重要的需求。如果你是传统VCS,比如SVN或者P4来说,revert是个最直观,也是最直接的手段,当然前提是你的修改还没有被提交到远程的中央仓库。如果你已经ci了你的code到了远程中央仓库,那revert恐怕也无能为力,只能借助其他命令workaroud这个问题,比如:你用SVN的话,就得来个

2016-06-14 11:58:42 318

转载 Word 2010 中的 VBA 入门

摘要:  介绍新程序员使用 Visual Basic for Applications (VBA) 编程来扩展 Microsoft Word 2010。本主题汇总了 VBA 语言、有关如何访问 Word 2010 中的 VBA 的说明、实际 Word VBA 编程问题的详细解决方案以及有关如何编程和调试的提示。上次修改时间: 2015年5月11日适用范围: Office 2

2016-06-07 14:27:17 1876

转载 搭建Git服务器

在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样

2016-06-06 11:16:34 173

转载 svn 迁移到git下全过程

git的出现,让svn深受打击,大家纷纷转战git。没错,我也移情别恋了,一下就描述一下抛弃svn,迷上git的过程吧简单粗暴,命令如下:git svn clone https://localhost:8443/svn/www/ –no-metadata –trunk=trunk www参数说明:no metadata 参数是阻止git 导出svn包含的附加信息,这

2016-06-06 11:08:35 338

转载 推荐!手把手教你使用Git

一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够

2016-06-06 10:51:08 237

转载 git使用详细介绍

1. Git概念 1.1. Git库中由三部分组成        Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。.git目录位于工作目录内。 1) 工作目录:用户本地的目录; 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Gi

2016-05-31 13:48:35 231

转载 DUI控件

DirectUI技术开发界面  DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播

2016-05-27 17:20:01 641

转载 vs2010断点无效

===============================================解决VS2005 VS2008  vs2010断点无效-源代码与原始版本不同不知道怎么回事,断点全无效了,在网上搜到别人的解决方法,效仿之,解决。VC直接把整个文件格式化了一次,断点就可以用了Ctrl + A全选 菜单:编辑-〉高级-〉设置选定内容的格式 (Ctrl+K

2016-05-27 15:26:07 411

转载 VC2010快捷

1、Ctrl + M + O (折叠所有的函数)   Ctrl + M + P (展开所有的函数)2、Ctrl + F10:运行到光标处3、F12  (转到定义)       Ctrl + _  (转到定义后返回)   Ctrl + Shift + _  (再次转到定义)Shift+F12查找所有引用4、F3:查找下一个   Shif

2016-05-25 13:45:33 416

转载 GetMessage与PeekMessage的区别

PeekMessage   返回   TRUE   的条件是有消息,如果没有消息返回   FALSE   GetMessage    返回   TRUE   的条件是有消息且该消息不为   WM_QUIT              返回   FALSE  的条件是有消息且该消息  为   WM_QUIT GetMessage不将控制传回给程序,直到从程序的消息队列中取得消息

2016-05-25 11:10:53 230

转载 c++ 中__declspec 的用法

c++ 中__declspec 的用法语法说明:__declspec ( extended-decl-modifier-seq )扩展修饰符:1:align(#)    用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。e.g__declspec(align(32)) struct Str1{int

2016-05-22 14:37:55 211

转载 Duilib教程-HelloDuilib及DuiDesigner的简单使用

一、HelloDuilib1. 首先理解DUILIB显示的一个基本流程,如下图:  在Duilib中,WindowImplBase 这个类代表了图中 “CWndClass”。所以我们需要做的是:1)生成一个XML。2)生成一个WindowImplBase对象。3)加载XML。4)显示窗口。但是编写的时候,WindowI

2016-05-22 14:32:14 2271

转载 X3插件机制的UML图

X3插件机制的UML图图1 PluginLoading 图2 PluginUnloading 图3 CreateObject 图4 EventDriven 图5 InterfaceStruct (No RTTI) 图6 InterfaceStruct (以前版本,使用RTTI)

2016-05-22 10:05:35 303

转载 X3插件框架--插件基础模块--使用说明

1. 模块使用说明1.1. 概述X3插件基础模块是“X3插件框架”的最底层独立模块,用于形成其他插件模块。X3插件框架的设计目标是汇集各种常用的轻量级C++插件通用模块,其插件既能灵活组合到各种系统,又能单独拆开使用。“X3”是开发代号,不是版本号。X3插件基础模块用于开发具有统一接口标准的C++插件模块,使其具有COM组件的多种特点(接口与实现分离、一个实现类支持多个接口

2016-05-21 17:46:50 795 1

转载 CppUnit入门

CppUnit是一个开源的、跨平台的用于C++的单元测试工具。本文以VC6和VC8为例,简单介绍其使用方法。    首先,到http://sourceforge.net/project/showfiles.php?group_id=11795下载回CppUnit的最新源代码(当前最新版1.12.0)和文档。将源码包解压,在源代码包子目录src下已经配置好了VC6的工程文件。   

2016-05-21 17:20:41 256

转载 CppUnit的安装及使用指南

转自:http://wenku.baidu.com/view/a0a5867f27284b73f242508a.html第一部分 CppUnit安装 1、解压cppunit-1.12.0.tar.gz后进入cppunit-1.12.0目录。(用winrar解压即可)2、在vc6中打开工作空间”examples/examples.dsw”,将hostapp设为activeproject,

2016-05-21 15:28:22 802

转载 在使用cppunit,搭建测试环境时遇到的问题以及解决办法(仅供参考)

文章很实用,但是我在vs2012下配置又出现了更奇葩的问题原文地址:在使用cppunit,搭建测试环境时遇到的问题以及解决办法(仅供参考)作者:每天up2013-1-22 11:20:11.------ Build started: Project: cppunit, Configuration: Debug Win32 ------Build started 20

2016-05-21 15:25:07 1196

转载 Excel 2007 打开 UTF-8 编码 CSV 文件的BUG

Excel 2007 打开 UTF-8 编码 CSV 文件的BUG(Excel 2003和Excel 2010不存在) 直接用Excel 2007打开UTF-8编码的CSV文件会导致汉字部分出现乱码。 原因是Excel 2007以ANSI格式打开,不会做编码识别。 打开UTF-8编码的CSV方法:1) 打开Excel 2007

2015-02-28 15:40:19 644

转载 浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1

2015-02-03 16:50:30 273

转载 关于ping程序

关于网络编程,知之甚少,linux环境下编程的经验也比较缺乏,于是乎,在百度文库上下载了一个关于ping的程序设计,照着将代码敲打一遍,顺便熟悉某些东东。 敲完代码,运行时,发现错误极多,正好也试着学习用GDB调试。下面是一些琐碎的知识点,写写加深印象。    1. 关于ping程序        用于确定本地主机与网络中其它主机的网络通信情况,常使用ping程序。ping程序向指

2015-01-20 17:20:36 324

转载 线程特定数据(学习)

1、首先,为什么要使用线程特定数据呢?什么是线程特定数据。这牵涉到重入函数和不可重入函数。重入函数就是在多个进程或者线程中,可以同时进行运行的函数,可重入函数就是不可以同时运行的函数,这个主要是可能多个进程或线程共享了一个变量,这个变量只有一个,这样同时运行的时候,就会出问题了,因为我们不知道这个静态变量具体是存入的什么值,可能刚存入一个值,立马又因为调用这个函数编程另外一个值。更加通俗的

2015-01-14 16:03:23 321

转载 Linux文件夹权限如何更改?

先来了解一下文件属性,在shell环境里输入:ls -l 可以查看当前目录文件。如:drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份分别对应的是:文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置例如:  d   r

2015-01-04 17:08:45 333

转载 linux网络编程之-----多播(组播)编程

什么是多播       单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。   多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收发的

2014-12-30 16:56:06 450

转载 Linux 网络编程之ioctl函数

1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息,所以,我们有必要了解一下ioctl函数的具体实现.2.相关结构体与相关函数#include int ioctl(int d,int request,....);

2014-12-26 11:06:53 307

转载 IPv4和IPv6的互操作性

最近几年,IPv4可能是已经接近枯竭了,所以我们又推出了IPv6,在未来几年内,我们的IP可能是IPv6的了,但是对于现存的大量的基于IPv4代码的服务器和客户端,我们是不是都得做出大量的更新?或许我们要看互操作性了! 对于IPv4和IPv6,我们可以分为IPv4和IPv6的客户端和服务器,下面我们来分别讨论一下对于不同的服务器我们怎么建立这个连接, 第一:IPv4

2014-11-22 17:16:42 450

转载 linux定时任务的设置

为当前用户创建cron服务1.  键入 crontab  -e 编辑crontab服务文件      例如 文件内容如下:     */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh      保存文件并并退出     */2 * * * * /bin/sh /home/admin/jiaobe

2014-11-08 14:29:19 206

转载 c++类继承内存布局的

今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化    译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ O

2014-10-20 15:04:19 278

转载 GCC参数详解

gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -c    只激活预处理,编译,和汇编,也就是他只把程序做成obj文件   例子用法:   gcc -c hello.c 

2014-10-20 11:15:21 240

转载 C++类大小的一些说明

首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存中分配一块地址.那我们先看看一个例子:#includeclass a {};class b{};class c:public a{ virtual void fun()=0;};class d:public b,public c{};int main(){ cout cout 

2014-10-20 10:59:44 266

转载 基类,派生类,内存分配情况

派生类继承基类      内存分配时,是在于基类对象不同的内存地址处,按基类的成员变量类型,开辟一个同样的类型空间,但注意开辟后派生对象的空间,不是复制基类的成员的值,而是仅仅开辟那种成员类型的空间,未初始化时,里面存在的数是不确定的       然后派生类自己定义的成员变量是排在继承的A类成员下面,如果派生类定义的变量名与基类相同,则此变量覆盖掉继承的基类同名变量,注意,覆盖不是删除

2014-10-20 10:57:01 352

转载 epoll_create, epoll_ctl和epoll_wait

NAME        epoll - I/O event notification facility SYNOPSIS        #include  DEscrīptION        epoll is a variant of poll(2) that can be used either as Edge or Level        Triggered

2014-09-28 16:31:30 377

转载 EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接

EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接EWOULDBLOCK用于非阻塞模式,不需要重新读或者写EINTR指操作被中断唤醒,需要重新读/写在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non

2014-09-28 11:37:26 310

转载 GDB 进行调试 使用心得

1: 对于在应用程序中加入参数进行调试的方法:   直接用 gdb app -p1 -p2 这样进行调试是不行的。   需要像以下这样使用:    #gdb app    (gdb) r -p1 -p2    或者在运行run命令前使用set args命令:    (gdb) set args p1 p2    可以用show args 命令来查看2. 加入断点

2014-09-17 10:14:18 275

空空如也

空空如也

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

TA关注的人

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