- 博客(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
原创 c++ 简单工厂模式
简单工厂模式 主要用于对象创建,新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入条件产生不同的类,然后根据不同类的的virtual函数得到不同的结果。 优点: 适用于不同情况创建不同的类。 缺点: 客户端必须要知道基类和工厂类,耦合性差。 //基类 class COperation {
2012-06-27 22:31:23 537
原创 多线程下的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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人