自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 客户端总体设计方案分享

先说点闲话,本来想把博客好好的管理起来的,3天写一篇,其实行动起来真心不容易起,要一个星期至少一篇坚持下去!MFC是一种很老的技术了,不喜勿喷!说到客户端的设计方案,基本上马上会想起MCV框架,MCV是软件设计的典范,现实了界面、数据、逻辑进行分离的组织方法。如果通过MFC在开发界面时实现界面、数据、逻辑的分离。注:界面显示都是基于Dialog和其上的控件设计方

2015-09-07 17:36:33 944

原创 C语言模糊基础概念之强制类型转换

这里和大家分享下以下类型转换的意义。例:struct in{ int a;}struct test{ struct in* i; int b;}void func(){ struct test t; void *v = &t; struct in *i; i = *(struct in**)v;}

2015-09-01 10:35:06 420

原创 数据设计是程序架构的灵魂

之前开发了一套c语言交互系统,当时设计了业务数据和用户数据,业务数据负责对业务操作的管理,控制数据负责的业务的结果进行管理。实现了模块和全局的解耦。全局对局部的支撑。昨天晚上看了FFMPEG的数据设计架构,隐隐绝对当时的设计存在一些不足之处。FFMPEG的数据设计主要分为一下三种:1、业务数据,在业务运行过程中生成,并提供业务接口支撑,接口为模块抽象出的对外接口。2、全局数据抽象部

2015-08-25 09:21:49 627

原创 老生常谈c++ MAP的内涵

map的简单使用这里不再多做描述。这里主要和大家分享下map的内在的一些东西。说到map大家肯定会想起iterator,两者相辅相成。1、先说说map的优势通过key可以快速查找到value,value可以是任何值,这个特性非常适合用来保存数据,并且进行查找。所以在操作数据保存中经常会使用到map。2、说说迭代器模式设计模式的顶顶大名大家应该都听说过,但是想要正真理解并

2015-08-13 17:54:24 527

原创 谈谈c++纯虚函数的意义!

纯虚函数的存在有什么意义呢?相信大学如果有c++这么课程,在讲到纯虚函数时,必定会讲到纯虚函数是面向接口编程的基础。现在和大家分享下纯虚函数设计的原由、目的、产生的效果。现代软件工程非常庞大,所以出现了各种技术来解决其中的问题。现代软件都是由各种基础库、底层库、通信库等等组成,并且自身业务还会有分为各个模块。各个模块之间的协作引入了纯虚函数这个技术。为什么要用这个技术:

2015-08-12 11:30:18 4384

原创 工作8年对编程效率的一点点感悟

个人认为绝大部分的人的智商都是差不多的,程序员也不例外。但是在现实中工作效率却出现了较大的差别,其原因不外乎,不专心、方法不对、混日子等等这些因数引起的。举个例子:A和B两枚程序员,A效率高,剩余的时间在学习工作之外的知识。B效率一般。刚刚好完成工作,但是工作轻松。几年后A和B谁混的比较好,谁也不清楚。有一个事情可以确定,A比B多看了很多本书。编程的效率就等于工作的效率。作为一个工作了8年

2015-08-11 10:18:22 925

原创 C++ string copy的追根挖底!看看你理解的层度是那层

相信写过C++的人肯定用过:string str2(“11”);string str1 = str2;现在就让我深入挖掘下string str1 = str2;所包含的内容。第一层:把str2的内容“11”复制给了str1第二层:先定义了str1对象,把str2对象赋值给str1第三层:string类型为什么能够赋值,原来string实现了赋值运算符重载

2015-07-21 10:22:06 719

原创 早绑定和迟绑定技术的通俗分析

概念:早绑定指的是在编译阶段进行绑定迟绑定指的是运行阶段绑定例子:Class Base{void fun(){}}Class Bind :Class Base{Void fun(){}}main(){Base base;base->fun();Bind *tmp;tmp  = &base;tmp->fun();

2015-06-25 14:38:59 1274

转载 erlang后台存储选择

Multiple processes on multiple VMs -> mnesiaMultiple processes on one VM -> ets/detsOne process -> bag/dict/

2014-09-17 20:53:11 513

原创 今天和大家聊聊Freeswitch的mod_erlang_event模块

前段时间研究erlang语言,所以对于freeswitch的可以成为

2014-05-17 10:46:56 1852

原创 Erlang 数据类型总结

l Erlang数据类型的特点先说说自身对于erlang数据类型的感观,本人是C程序员,所以对于每个变量或者说对象都对其大小比较敏感,第一眼看到erlang的数据类型时感觉挺变扭,因为erlang有vm,gc,所以对于数据的大小并不是非常关心,也不需要申请内存,和释放内存都由vm完成此工作,只关心其数据的组成方式,所以从这个角度看erlang,可以总结出erlang数据类型的特点为关心变量的内

2014-05-13 17:08:22 3290

原创 COWBOY业务流程简单分析

COWBOY是erlang的一个成功的开源库,学习的人也很多,本人学习erlang,就拿此库过来练练手。 COWBOY库也可以称之为COWBOY app,其启动依赖于cowlib,ranch,cryto这3个app,此3个app中对于ranch app也有过研究,之前也写过其分析文章,这里不再过多描述。 先看看COWBOY app的进程树情况上面的图没有处理好,见谅! 

2014-05-12 10:58:57 1734

转载 makefile

[root@galileo   tmp]#   ls     Makefile     obj     readpci.c     [root@galileo   tmp]#   cat   Makefile     OBJDIR=obj     OBJS=$(patsubst   %.c,$(OBJDIR)/%.o,$(wildcard   *.c))         a

2013-07-18 22:24:53 516

转载 makefile 把文件导出到其他的文件中如obj

PROJECT=abcMYLIB=SYSLIB=CFLAG=-gCC=gccGCC=gccOBJDIR=./objSRCS=$(wildcard *.cpp)OBJS=$(patsubst %.cpp,$(OBJDIR)/%.o,$(SRCS))$(PROJECT):$(OBJS)        $(GCC) -o $@ $^ $(CFLAG) $(SY

2013-07-18 22:13:49 655

原创 makefile

PROJECT=abcMYLIB=SYSLIB=CFLAG=-gCC=gccGCC=gccOBJDIR=./objSRCS=$(wildcard *.cpp)OBJS=$(patsubst %.cpp,$(OBJDIR)/%.o,$(SRCS))$(PROJECT):$(OBJS)        $(GCC) -o $@ $^ $(CFLAG) $(SY

2013-07-18 22:12:18 91

转载 CentOS中vsftp安装与配置

1. 安装使用chkconfig --list来查看是否装有vsftpd服务; 使用yum命令直接安装:yum -y install vsftpd 然后为它创建日志文件:touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限! 2. 启动与配置自启

2013-07-17 15:38:47 557

原创 FS SIP呼叫的消息线程和状态机线程

THREAD当收到一次呼叫的时候,FS会在TU层创建两个线程,一个线程为状态机线程,另外一个为消息线程。状态机线程通过switch_core_session_thread_launch创建,顾名思义其作用是不断的检查channel的状态,并进行处理。以下为详细处理过程。状态机的执行机制:2个回调函数分别为:const switch_state_handler_table_t *

2013-07-05 17:09:36 1505

原创 FREESWITCH SEESION

SESSIONSESSION为FS的核心概念之一,所以需要拿出来专门的分析下。从以下几个方面进行分析,结构类型,资源的管理,对于呼叫的意义,规格。1、结构类型每一次呼叫会申请一个session,并为每个申请的session申请一个channel。Channel为每次呼叫的实体,呼叫中状态机状态就是从channel中获取。新申请的channel的state为CS_NEW,runnin

2013-07-05 16:28:39 1544

原创 XML FREESWITCH APPLICATION 实现

XMLXML在FS(FreeSwitch)中进行了大量的使用,其中dialplan就是其中非常主要的一快内容。通过下面的描述,我们可以知道在执行XML中的语句:如何关联到其实现?可以在哪里看到其实现?其具体实现是什么?下面让我们来看看FS是如何做的!以上面的XML语句为例子。1、如何关联到其实现FS的channel处于EXCUTE状态时:根据在XML上读取的applicat

2013-07-05 14:59:07 1082

原创 FreeSwitch XML APPLICATION实现

XMLXML在FS(FreeSwitch)中进行了大量的使用,其中dialplan就是其中非常主要的一快内容。通过下面的描述,我们可以知道在执行XML中的语句:如何关联到其实现?可以在哪里看到其实现?其具体实现是什么?下面让我们来看看FS是如何做的!以上面的XML语句为例子。1、如何关联到其实现FS的channel处于EXCUTE状态时:根据在XML上读取的applicat

2013-07-05 14:56:11 223

原创 字符串全攻略

字符串全攻略一、字符串函数是C的基础,由于各个平台的差异,有着不同的版本:1、C run-time libraries(win):有char(单字节,一般命名规则str...)和wchar(UNICODE多字节,一般命名规则wcs...)两个版本,必须视具体情况来选择用何种函数;2、Win Platform SDK:综合了char和wchar版本,用宏来统一区分不同情况

2009-06-26 10:32:00 1086

原创 SQL Server数据库锁机制及类型

SQL Server数据库锁机制及类型 [06-05 12:08:14]作者:责任编辑:heyaorong   Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经得到了广泛的应用,该系统更强调由系统来管理锁。在用户有SQL请求时,系统分析请求,自动在满足锁定条件和系统性能之间为数据库加上适当的锁,同时系统在运行期间常常自动进行优化处理,实行动

2009-02-18 16:55:00 6054 1

原创 mfc 常用宏

alimama_pid="mm_10037389_223358_282234"; alimama_titlecolor="0000FF"; alimama_descolor ="000000"; alimama_bgcolor="FFFFFF"; alimama_bordercolor="E6E6E6"; alimama

2009-01-07 11:05:00 671

原创 在IIS中设置默认网页

以下列举的是在IIS中设置默认页的几种方法。都经过了我的测试,我测试的环境是IIS 5.1 + Windows XP Pro SP2。        默认页的定义:先声明这里是我的定义。主要是说明一下我这里默认页的意思。所谓默认页就是用户在地址栏中如果仅仅是键入了您的IP地址,那么系统自动跳转到的页面。当然我们往往希望的页面是某个Web Application的首页面,或者是登录页

2008-12-23 13:30:00 25674 2

原创 利用VC访问INI文件和系统注册表

原始地址:http://www.yesky.com/184/1836684_1.shtml 私有初始化文件的访问  对私有初始化文件的数据存取是由GetPrivateProfileInt()、GetPrivateProfileString()和WritePrivateProfileString()等三个API函数来完成的。其函数说明如下:UINT GetPrivatePro

2008-12-18 09:01:00 685

原创 VC免费界面库GuiToolKit的编译

最近做一个系统时,苦于界面比较难看,如果自己从头做起的话,过于烦琐,便驱猫上网,寻找合适的界面库,找了多个,发现了一个比较合适的界面库GuiLib(官方网址:www.beyondata.com),这个界面库号称终身免费,可以用于商业软件,故而应用起来,不用担心版权问题。而其他的几个界面库,多半是要求付费的,虽然做得比较好,但毕竟MONEY是个问题。到GuiLib上下载了他的最新版之后,首先便是

2008-12-17 15:18:00 3450

原创 我写的关于视频的基础知识,欢迎大家挑错和鼓励!

http://topic.csdn.net/u/20070611/23/744a29d8-cee1-42b0-9a8d-7078db1b0877.html去原地址看。 一   基础篇 1.1   图形、图像和视频 图形(graphic):和图像与视频不同,有一种说法是图形就是自然界的客观世界不存在的图案。对于计算机中的图形研究,有专门的计算机图形学,主要的研究对象是点、线、面等抽象事物

2008-12-17 11:00:00 1220 1

原创 CString COleDateTime CTime

1. ************************************************COleDateTime time; time.ParseDateTime("2008-02-29");if (time.GetStatus() == 1) //有效{}else                //无效{} 2. ********************

2008-12-17 09:38:00 1939

原创 directshow在vc2005的配置

一.DirectShow的环境配置:本人使用的是VS2005,要使用DirectShow进行编程,需要对环境进行必要的配置。第一步:对dssdk中的baseclass.sln进行编译,生成需要的debug和release文件,具体步骤如下:在VS6中,安装DirectShow9c版本之后,直接打开BaseClass中的VS6工程baseclasses.dsw文件,直接编译即可,编译Debug 

2008-12-12 16:26:00 1715

原创 VC++6.0调试篇:定位临界区(critical section)导致的死锁

http://blog.csdn.net/coding_hello/archive/2008/12/10/3487793.aspx 在多线程程序的开发中,因为效率的关系,通常会选用CriticalSection作为同步的机制。初学者在设计开发多线程程序时经常会出现死锁的情况,昨天就看到有个哥们在发帖问这个(明显是郁闷中阿)。这里通过一个例子说下不用Intel的Thread Checker,

2008-12-11 08:58:00 516

原创 C语言之typedef的问题

1. 基本解释  typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。  在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。  至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 2. typedef &

2008-11-26 16:13:00 434

原创 关于内存中栈和堆的区别[转]

1、内存分配方面:    堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。    栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面:    堆:需要程

2008-11-26 15:50:00 400

原创 MP3文件格式解析

1, MP3简介 MP3是今天一种常见的音乐格式,但恐怕除了工作要求之外,有兴趣对此进行研究的人恐怕不多。所以,当我打算做MP3解码方面的工作时,在找资料时也颇费了一番周折,同时也觉得很有趣。所以想在这里分享一下自己的心得,做一个总结性的介绍。这样有兴趣的同志也可以对此有一个大概了解,尽快入门。MP3是MPEG-1 Audio Layer 3的简称,是当今比较流行的一种数字音频编码和有损压缩格

2008-11-25 13:05:00 1159

原创 using stl

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。 译者:karycontact:[email protected]概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分

2008-11-21 14:24:00 365

原创 内联函数与普通函数的区别是什么

内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。     内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。你可以象调用函

2008-11-21 14:05:00 377

原创 heap和stack

简单的说明:heap就是malloc和new建立的内存区域。而stack就是局部变量。 深入还有待研究。

2008-11-19 11:34:00 351

原创 网络编程——断点续传和多线程下载模式

在当今的网络时代,下载软件是使用最为频繁的软件之一。几年来,下载技术也在不停地发展。最原始的下载功能仅仅是个“下载”过程,即从WEB服务器上连续地读取文件。其最大的问题是,由于网络的不稳定性,一旦连接断开使得下载过程中断,就不得不全部从头再来一次。    随后,“断点续传”的概念就出来了,顾名思义,就是如果下载中断,在重新建立连接后,跳过已经下载的部分,而只下载还没有下载的部分。无论“多线程下

2008-11-19 11:32:00 754

原创 C++中,int length() const;和const int length();

int length() const 此只能使用于成员函数,意思为此函数里不能函数所在类中的所有成员变量进行修改,他相当于对默认传递到length函数里的this指针加上const的限定,const OneClass * this; const int length(); 可以用于成员函数和非成员函数,表示函数返回值是常量。对于int型的返回值,本身就是使用的值传递返回,所以const修饰int返

2008-11-18 11:05:00 3230

原创 联合(union)

1. 联合说明和联合变量定义     联合也是一种新的数据类型, 它是一种特殊形式的变量。     联合说明和联合变量定义与结构十分相似。其形式为:      union 联合名{           数据类型 成员名;           数据类型 成员名;           ...      } 联合变量名;     联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不同

2008-11-18 10:53:00 609

原创 static变量和static函数的用法摘抄

一、 static 变量 static变量大致分为三种用法1. 用于局部变量中,成为静态局部变量. 静态局部变量有两个用法,记忆功能和全局生存期. 2. 用于全局变量,主要作用是限制此全局变量被其他的文件调用. 3. 用于类中的成员.表示这个成员是属于这个类但是不属于类中任意特定对象1. 静态局部变量静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定

2008-11-18 10:09:00 426

cpu使用率和内存使用率时间显示日期显示vc++

cpu使用率和内存使用率时间显示日期显示vc++ cpu使用率和内存使用率时间显示日期显示vc++ 欢迎联系:[email protected]

2008-10-08

空空如也

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

TA关注的人

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