自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

转载 线程与进程的区别

学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。方法/步骤进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活

2013-02-25 17:13:49 439

转载 线程与进程的区别

学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。方法/步骤进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活

2013-02-25 17:12:07 749 1

转载 线程与信号

类UNIX信号以前是专为进程设计的,它比线程的出现早了很多年。当线程模型出现后,专家们试图也在线程上实现信号,这导致了一个问题:如果要在线程模型中保持原来在进程中信号语意不变,是相当困难的。避免信号和线程一起使用是明智的选择。但是,将他们分开又是不可能或不实际的。只要有可能的话,仅仅在主线程内使用pthread_sigmask()来屏蔽信号,然后同步地在专用线程中使用sigwait()来处理信

2013-02-03 21:44:23 8470

转载 详谈UNIX环境进程异常退出

简介:本文详细论述UNIX环境上的进程异常退出,将导致进程异常退出的各种情景归纳为两类,对每类情况详细分析了问题出现的根本原因,同时添加了相应的实例以易于您更好地进行了解。在此基础上,文章最后论述了应该如何避免和调试进程异常退出问题。希望读者阅读此文后,对进程异常退出问题有更深层的认识,有更系统的梳理,对调试此类进程崩溃问题时也能有所帮助,写出更稳定、更可靠的软件。进程异常退出

2013-02-03 18:26:42 2251

转载 线程属性介绍(二)

线程属性pthread_attr_t简介  2012-06-23 22:21:34|  分类: C和C++语言 |  标签:pthread  |字号 订阅本文编辑整理自: http://hi.baidu.com/7828058/blog/item/256e16decd1a385e94ee3784.htmlhttp://www.ibm.com/deve

2013-02-03 17:22:07 525

转载 BSTR与其它字符串类型转换

常用字符串件的类型转换。 FromToSample字符串常量BSTRRight:BSTR bs = ::SysAllocString(_T("Test string"));…::SysFreeString();Wrong:BSTR bs = _T("Test string"); //ERROR

2013-02-01 17:56:18 360

转载 线程属性介绍

pthread_attr_init线程属性2012-06-15 20:41 376人阅读 评论(0) 收藏 举报一.线程属性       线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。

2013-01-28 13:29:02 306

转载 深刻理解Linux进程间通信(IPC)

linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间

2013-01-25 17:41:26 292

转载 线程解析

线程解析(二)上次说了如何去创建一个线程及如何向线程中传递一个参数那么这次我们说一下如何终止一个线程。如进程中调用exit,_exit使进程结束一样,线程也可以通过类似的方法结束。        一、线程的执行体结束线程自然结束。        二、可以通过调用pthread_exit使程序结束。pthread_exit 的原型为:        void pthread_

2013-01-24 14:39:34 266

转载 设计模式C++描述----11.组合(Composite)模式

一. 举例这个例子是书上的,假设有一个公司的组结结构如下:它的结构很像一棵树,其中人力资源部和财务部是没有子结点的,具体公司才有子结点。而且最关健的是,它的每一层结构很相似。代码实现如下:[cpp] view plaincopyprint?//公司类,提供接口   class Company      {    public:

2012-11-21 18:06:04 724

转载 程序在内存中存储详情(Text、Data、BSS、Heap、Stack....)

char *string = "Hello World";int iSize;char *fun(void){     char *p;     iSize = 8;     p = malloc(iSize);     return p;}存放的位置(相同的颜色对应)Text段:上面标记为红色的部分(还包括整个fun函数,由于下边需要,

2012-11-21 17:52:05 969

转载 Gcc 编译处理

一. Gcc 编译处理过程下面以 helloworld 程序为例去进行解释过程:其中hello.c的内容如下:[cpp] view plaincopyprint?#include     int main()  {          printf("hello world\n");  }  #includeint main(){

2012-11-21 17:47:42 332

转载 GDB调试精粹

一、列文件清单list / l列出产生执行文件的源代码的一部分[cpp] view plaincopyprint?//列出 line1 到 line2 行之间的源代码   (gdb) list line1, line2    //输出从上次调用list命令开始往后的10行程序代码   (gdb) list    //输出第 n 行附近的10行程序代码

2012-11-21 17:45:16 320

转载 C++中delete, new以及new [], delete[]操作符内幕

人们有时好像喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。    当你写这样的代码:    string *ps = new string("Memory Management");    你使用的new是new操作符。这个操作符就象sizeof一样是语言内置的,你不能改变它的含义,它的功能总是一样的。它要完成的功能

2012-11-20 18:00:50 317

转载 c++异常处理机制

下面的代码直接贴到你的console工程中,可以运行调试看看效果,并分析c++的异常机制。  #include "stdafx.h"  #include  #include  #include   // 内存泄露检测机制  #define _CRTDBG_MAP_ALLOC   #ifdef _DEBUG  #define new new(_NORMAL_BLOCK, __FILE__,

2012-11-19 18:02:19 321

转载 C++ Decorator Design Mode

概要又是一种比较常见也比较常用的模式。系统模块经常需要进行功能上的扩展,比如下面这种形式的结构,当需要扩展新Function时,通常会通过继承追加新类来实现功能的扩展。但是如果我们不是扩展一个新功能的对象,而只是对所有现有的每种功能类的处理进行扩展时,我们应该怎么做?Decorator模式可以很好的解决这类问题。目的为一系列对象动态追加(或删除)额外的功能,

2012-11-19 10:15:54 640

原创 memcpy 与 strcpy

memcpy() :拷贝内存内容       定义函数:void *memcpy(void *dest,const void*src,size_t n);        函数说明:memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上,与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束符‘\0’而结束.        今天

2012-11-14 18:19:42 813

转载 H264关于RTP协议的实现

H264关于RTP协议的实现对于H.264视频的实时传输应用来说,TCP的重传机制引入的时延和抖动是无法容忍的,因此我们采用UDP传输协议。但是UDP协议本身是面向无连接的,不能提供质量保证。而基于UDP之上的高层协议RTP/RTCP可以一起提供流量控制和拥塞控制服务。TAG: H264  RTP  RFC3984  完整的C/S架构的基于RTP

2012-11-13 14:33:16 674

转载 C/C++面试之算法系列--如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串

×××××××××××××××××××××××××××××××ד如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串” ×××××××××××××××××××××××××××××××× 在嵌入式的通信协议开发过程中由于通信实时性等因素要尽量缩短传输报文的长度,即每一个字节的各位都应该重复利用上;但是在实际的传输过程中,由于传输报文的某些特性,可以考虑将字

2012-11-11 17:13:50 2790

转载 c/c++设计模式中的builder模式

C++ 设计模式 Builder(2011-10-24 07:28:21) 标签:c设计模式builder例子程序分类: 面向对象设计模式 Builder" name="image_operate_32611319416706668" alt="C++ 设计模式 Builder" src="http://s14.sin

2012-11-11 13:16:07 923

原创 MySQL 增加,更新,删除,查找数据

INSERT语句   (增加数据)       Insert   into   table_name(field1,field2,field3.....)  values(field1_value,field2_value,field_value........); UPDATE语句  (更新数据)       UPDATE  table_name   SET   field_na

2012-08-01 14:49:01 350

原创 MySQL 的ALTER 语句

修改表        使用ALTER  TABLE语句追加,修改,或删除列的语法.        (1)  追加列               ALTER    TABLE   tablename    ADD    new_field_name   field_type;        (2)  删除列              ALTER     TABLE    ta

2012-08-01 11:14:02 273

原创 linux c语言连接MySQL数据库

一   包括的头文件       (a) 在"xx.c"源文件里首先应包括头文件       (b) 头文件在/usr/include目录下.(centos6.0操作系统下进进行的)       (c) 如果/usr/inlcude目录下没有mysql目录那就是还需要安装一些软件包了。             yum   search   mysql   查找相关的软件包。

2012-07-26 13:47:07 630

转载 MySql数据库的安装和使用

一   安装MySQL      1  下载MySQL的安装文件           安装MySQL需要两个文件:            (a) MySQL-server-5.5.25a-1.linux2.6.i386.rpm            (b) MySQL-client-5.5.25a-1.linux2.6.i386.rpm           下载地址为:http

2012-07-25 16:58:02 321

转载 容器

第1章 容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map

2012-07-15 14:52:28 870

原创 单链表

1:给出一个单链表,不知道节点N的值,怎么只遍历一次就可以求出中间节点,写出算法。   解析:设立两个指针比如*p和*q,p每次移动两个位置,即p=p->next->next,q每次移动一个位置,即q=q->next,当p到达最后一个节点时,q就是中间节点了。   void searchmid(node *head,node *mid)   {          node *p;

2012-07-12 13:55:43 413

原创 好的博客

http://blog.csdn.net/haoel/article/category/9201

2012-07-10 10:42:02 233

原创 c++ 简单工厂模式

简单工厂模式     主要用于对象创建,新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入条件产生不同的类,然后根据不同类的的virtual函数得到不同的结果。      优点: 适用于不同情况创建不同的类。      缺点: 客户端必须要知道基类和工厂类,耦合性差。        //基类  class   COperation  {

2012-06-27 22:31:23 537

原创 linux方面的博客

http://blog.csdn.net/joanlynnlove/article/category/1157444

2012-06-23 20:33:14 347

原创 多线程下的C++ 单例模式

c++ 实现多线程安全下的单例模式    多线程环境下的输出日志到标准输出        首先我们需要一个锁类能够自动初始化,并且降低耦合。     /*     * lock.h     * created on :2012-06-23     */     #ifndef   LOCK_H     #define  LOCK_H     class  l

2012-06-23 20:16:26 3631 1

原创 c++ singleton(单例模式)

c++ singleton(单例模式)实现  c++ 单例模式也称为单件模式,单子模式.使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有模块共享.有很多地方需要这样的功能模块,如系统的日志输出等.    c++ 单例模式有许多种实现方法,在c++中,甚至可以直接用一个全局变量做到这一点,在一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针

2012-06-22 17:51:13 1019

原创 c++ 拷贝构造函数

拷贝构造函数: 是一种特殊的构造函数,它由编译器来调用来完成一些基于同一类的其他对象的构建及初始化。    什么时候要调用拷贝构造函数(复制构造函数)?       1)  一个对象作为函数参数,以值传递的方式传入函数体.       2)  一个对象作为函数返回值,以值传递的方式从函数返回。       3)  一个对象用于给另外一个对象进行初始化(常称为复制初始化)。

2012-06-22 14:32:47 372

原创 c/c++野指针

初次接触c/c++野指针概念是在自己面试的时候吧,当时知识面也很窄吧原因是,结果就是被pass了,再次遇到野指针的问题是在独自一人追踪自己的bug时,结果又是耗了我两天的时间.    该是总结的时候了,不想再糊糊涂涂的被这野指针问题闹心了,也是把自己总结的东西拿出来晒晒,如果有不妥之处还希望各位高人多多指点。    首先提个问题:           a:什么是野指针?

2012-06-20 00:35:43 992

原创 MFC WNDCLASSEX结构

typedef  struct{    UINT  cbSize;    UINT  style;    WNDPROC  IpfnWndProc;    int  cbClsExtra;    int  cbWndExtra;    HINSTANCE  hInstance;    HICON  hIcon;    HCURSOR  hCursor;    H

2012-06-19 17:43:12 1130

原创 c++ 字符串反转

#includeusing namespace std;char * MyReversal(char *src);int main(void){     char *src = "chinese people";     cout     return 0;}char *MyReversal(char *a){     char *ptt = (char *)m

2012-06-05 11:35:10 1441

原创 c 字符串提取Mystrstr

#includeusing namespace std;int Mystrstr(char *srcstr,char *deststr);int main(void){ char *srcstr = "chinese  people!"; char *deststr = "people"; cout return 0;}int Mystrstr(char *sr

2012-06-05 10:43:39 581

linux c++源码

对初学linux的,有一定linux基础的,初学c++的,想尽快有一段代码让自己练手的就马上来下载的。但是得给点积分哦。

2013-01-24

Mysql的文档

自己平时查找积累的一些资料,提供大家使用吧

2012-08-01

h264英文版协议

想看最全的标准h264协议的就赶紧进来吧。

2012-06-22

windows线程

让你很快学会线程的使用,初学者很值的分析的一段示例程序。

2012-03-03

空空如也

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

TA关注的人

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