自定义博客皮肤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)
  • 资源 (11)
  • 收藏
  • 关注

转载 Linux epoll模型

定义:  epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一个原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被

2013-11-28 11:51:44 416

转载 有用的正则验证,转自互联网

/* 用途:检查输入的Email信箱格式是否正确 输入: strEmail:字符串 返回: 如果通过验证返回true,否则返回false */ function checkEmail(strEmail) { //var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; var emailReg = /

2013-11-28 11:40:51 553

转载 linux 并发服务器模式

并发服务器有三种设计模式:多进程:每个进程服务一个客户端。优势是有各自独立的地址空间,可靠性高,但进程调度开销大,无法资源共享,进程间通信机制复杂。多线程:每个线程服务一个客户端。优势是开销小,通信机制简单,可共享内存。但共享地址空间,可靠性低,一个服务器出现问题时可能导致系统崩溃,同时全局共享可能带来竞争,共享资源需要互斥,对编程要求高。单进程:占有的进程及线程资源少,通

2013-11-28 11:36:34 396

转载 Linux select系统调用

linux系统提供了系统调用select,它允许程序挂起,并等待从不止一个文件描述符的输入。原理很简单:1. 获取所需要的文件描述符列表;2. 将此列表传给select;3. select挂起直到任何一个文件描述符有数据到达;4. select设置一个变量中的若干位,用来通知你、哪一个文件描述符已经有输入的数据。头文件#include#include#inclu

2013-11-28 11:35:25 605

转载 Linux下各类TCP服务实现的源代码

Linux下各类TCP网络服务器的实现源代码 转自互联网大家都知道各类网络服务器程序的编写步骤,并且都知道网络服务器就两大类:循环服务和并发服务。这里附上源代码来个小结吧。首先,循环网络服务器编程实现的步骤是这样的:                              建立socket(这里用到socket()函数及函数setsockopt())         

2013-11-28 11:33:01 710

转载 函数指针类型的定义(转)

汗一个先,今天才搞明白,以下转自互联网。typedef int (*a) (int *b,int *c)我做个比方:typedef int (*a) (int *b,int *c)上面是什么意思 我没看明白,     特别是(int *b,int *c)中的","是","运算符吗?(int *b,int *c)的意思就是int *a   ???这个就是传

2013-11-28 11:30:26 535

转载 静态库与动态库的区别

文件目录树如下,如你所见,非常简单。   1. libtest/   2. |-- lt.c   3. |-- lt.h   4. `-- test.c代码#lt.c   1.   4.     5. #include     6.     7. void myprint(void)   8. {   9.   printf("Linux lib

2013-11-28 11:28:51 417

转载 用GDB检查内存段错误

简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它 指向的 gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是

2013-11-28 11:23:00 587

转载 HASH相关例子

#include #include struct mac_ip{    char Mac[18];    char Ip[16];    struct mac_ip *next;};typedef struct mac_ip Mac_IP;int hahash(const char mac[],int n){    i

2013-11-28 11:19:16 472

转载 一个完整的稳定的,单线程的,有正确的收发功能的使用epoll的socket服务程序

下面的代码已经在在线环境测试了8天了,负载可以忽略,贡献出来,给我一样曾经迷惑的人: 其中不少是借鉴的某大侠的代码,只是不记得地址了,就不写了 #include    #include    #include    #include    #include    #include    #include    #include    #include

2013-11-28 10:23:17 906

转载 Epoll模型详解

Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后    首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜

2013-11-28 10:17:37 456

转载 VLC应用开发

vlc的应用之一:在命令行下的使用   如果编译得到没有界面的vlc,双击运行后就没法手动选打文件或网络了。在这介绍几个vlc的命令行命令。     1. vlc帮助vlc --help or vlc --help --advanced     2. vlc的debug logvlc -vv --extraintf=log

2013-11-22 00:34:23 2619

转载 多个窗口收发WINDOW消息阻塞的一点思考

在软件项目里有三个模块,分别为一个应用模块(处理数据)一个显示模块(屏幕)一个通信模块(与主机通信)每个模块都会继承WINDOW收发通信模块基类创建一个属于自己的子窗口,然后在窗口的消息处理函数中对收到的消息进行处理。在其中一个测试过程中,当通信模块收到主机命令然后向应用模块发送指令,应用模块执行完后,应用模块会向通信模块发送指令执行成功消息。调用ret = ::Sen

2013-11-22 00:04:13 565

转载 vector与list的区别

vector与list差异点与优缺点(1)vector动态增长:不是随着每个元素的插入而自己增长的。预先存了一些存储区,使得实际分配的空间比当前所需的空间多一些,而list 表示非连续的内存区域,并通过一对指向首位元素的指针双向链接起来,因而可以两个方向进行遍历。(2)当从vector末端删除元素的时候,性能与list差不多,当从前面或者中间删除元素的时候,list列表性能要好得多

2013-11-22 00:02:57 602

转载 strtok函数

函数原型:extern char *strtok(char *string, char *seps)参数说明:string为源字符串,seps为指定的分隔符,是一个分隔字符串的集合。        所在库名:#include   函数功能:将字符串string中所有在seps中出现的分隔符替换掉。  返回说明:返回指向下一个标记串。当没有标记串时则返回空字符NULL

2013-11-21 23:55:47 586

转载 C++静态成员函数小结

类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时

2013-11-21 23:44:37 524

转载 JsonCpp中文unicode编码问题

用JsonCpp解析C++中文unicode编码,转换问题,今天找打了一种解决办法这个问题画了不少时间,贴出来供大家参考在json_reader.cpp中找到codePointToUTF8函数,添加部分代码就行~

2013-11-21 23:37:15 4450

转载 简单线程池类

简单练习了一下代码,简单实现了一下线程池类,增加对线程的理解和掌控。以后有时间再好好完善下,现在和大家分享下:[cpp] view plaincopy#include   #include   #include   #include   #include   #include   #include   #include  

2013-11-21 23:29:13 723

转载 c++实现查询天气预报

原地址:http://blog.csdn.net/x_iya/article/details/8583015用到的函数、API等1、中央气象台API返回的JSON数据(http://m.weather.com.cn/data/101010100.html)2、外网获取IP(http://ip.dnsexit.com/index.php)3、Sqlite(1中

2013-11-21 23:24:34 7892 2

转载 C++中GB2312字符串和UTF-8之间的转换

在编程过程中需要对字符串进行不同的转换,特别是Gb2312和Utf-8直接 的转换。在几个开源的魔兽私服中,很多都是老外开发的,而暴雪为了能够兼容世界上的各个字符集也使用了UTF-8。在中国使用VS(VS2005以上版 本)开发基本都是使用Gb2312的Unicode字符集,所以当在编程过程中就需要进行字符转换,这样才能兼容游戏,否则就是乱码。而在控制台显示字符 串时,真好相反需要将UTF-8的字

2013-11-21 23:20:07 703

原创 设置窗口透明度

在dialog的oninitdialog中加入以下代码,可以防止某些操作。        SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);HINSTANCE hInst = LoadLibrary("User32.DLL");i

2013-11-19 20:04:41 824

转载 VC++数据类型转换

长整型(long)ltoa(l,temp,10); 浮点数(float,double)用fcvt可以完成转换,这是MSDN中的例子:int decimal, sign; char *buffer; double source = 3.1415926535; buffer = _fcvt( source, 7, &decimal, &sign ); 运行结果:sour

2013-11-14 17:14:49 985

转载 VC操纵Excel的数据文件

用VC对Excel文件进行写操作后,在程序结束前需要对一些对象进行收尾工作,如调用_Workbook::Save()方法(该方法是Microsoft提供的供VC调用的对Excel文件操作的标准方法,在文件excel9.cpp或excel.cpp中定义)保存文件。问题就出现在这里,若选取要保存的Excel文件以前不存在则程序创建一个同名的空Excel文件,对Excel表的操作实际是对其同名副本的

2013-11-14 17:04:14 626

转载 vc读写Excel文件的方法

这里的文章是如何将Excel中的数据用sql语句导出如果要导出到Excel的话,感觉GetExcelDriver挺好用的void ReadExcel(){    CDatabase database;    CString sSql;    CString sItem1, sItem2 , sItem3;    CString sDriver;    CSt

2013-11-14 17:02:35 904

转载 VC操作EXCEL2003方法

我们制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛的当然是Excel表格,本文简略介绍在VC++6.0中如何使用Excel2003的库函数并对其进行编程。先创建一个对话框工程,命名为VCExcel。在对话框中添加一个按钮,控件ID为ID_RUNEXCEL(是不是很搞笑哇,不过没关系,它照样能实现强大的功能!)。     再在该按钮上添加消息BN_CLICKED,其消息映射函

2013-11-14 16:33:45 795

转载 VC中进行Office编程

VC中进行office编程的-操作word,可以设置文字的样式,新建表格,这里提供给大家一个类--CWzjWordOffice::CWzjOffice类,用来对WORD进行简单的操作。读者评分 3 评分次数 1 正文大家先看一下CWzjWordOffice类怎么使用   CWzjWordOffice wd; //定义一个操作word的对象   wd.Create();

2013-11-14 16:32:03 826

转载 VC++操作word

最近根据项目需要,需要我去用 vc++6.0 作一个 ActiveX web 组件。自己从来没有接触过这方面的编程,这次是头一遭!所以咱就做了,不过倒很出乎我的意料,比我想象的要快很多就完成了。现将 vc++6.0 操作 word 部分的关键代码部分帖出来,共享给大家。因为我在开发的时候遇到了很多问题,并且网上的资料很少,基本都是最基本的操作。所以帖出来,希望能让大家在开发的过程少走些弯路!

2013-11-14 16:30:58 959

转载 VC 如何使程序运行后自己删除自己

有时候,我们需要创建一个运行后能够自己删除自己的可执行程序即自删除程序。很明显如果一个进程通过直接调用DeleteFile()来删除自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易:方法1,调用BAT文件。[cpp] view plaincopy

2013-11-14 16:24:38 725

转载 FFMPEG类库打开流媒体的方法(需要传参数的时候)

使用ffmpeg类库进行开发的时候,打开流媒体(或本地文件)的函数是avformat_open_input()。其中打开网络流的话,前面要加上函数avformat_network_init()。一般情况下,只要传入流媒体的url就可以了。但是在打开某些流媒体的时候,可能需要附加一些参数。例如在播放中央人民广播电台的声音信号的时候,其url为“rtsp://mms.cnr.c

2013-11-14 16:10:30 969

转载 在FFMPEG中使用libRTMP的经验

FFMPEG在编译的时候可以选择支持RTMP的类库libRTMP。这样ffmpeg就可以支持rtmp://, rtmpt://, rtmpe://, rtmpte://,以及 rtmps://协议了。但是如何使用ffmpeg支持RTMP协议还是有一定的学问的。本文总结一下部分经验。ffmpeg接受一个字符串的输入方式,比如:“rtmp://xxxx live=1 playpath=xxx

2013-11-14 16:08:35 778

转载 50行代码实现的一个最简单的基于 DirectShow 的视频播放器

本文介绍一个最简单的基于 DirectShow 的视频播放器。该播放器对于初学者来说是十分有用的,它包含了使用 DirectShow 播放视频所有必备的函数。直接贴上代码,具体代码的含义都写在注释中了:[cpp] view plaincopy/* 雷霄骅  * 中国传媒大学/数字电视技术  * leixiaohua1020@1

2013-11-14 16:07:23 647

转载 ffmpeg 从内存中读取数据

ffmpeg一般情况下支持打开一个本地文件,例如“C:\test.avi”或者是一个流媒体协议的URL,例如“rtmp://222.31.64.208/vod/test.flv”其打开文件的函数是avformat_open_input(),直接将文件路径或者流媒体URL的字符串传递给该函数就可以了。但其是否支持从内存中读取数据呢?这个问题困扰了我很长时间。当时在做项目的时候

2013-11-14 16:06:11 982

转载 设置ListCtrl列表控件其中某一行的字体和背景颜色

设置ListCtrl列表控件其中某一行的字体和背景颜色,可以最终达到如下效果:操作步骤如下所示:1.先添加一个自定义消息[cpp] view plaincopyON_NOTIFY ( NM_CUSTOMDRAW,IDC_V_H264_NALLIST, OnCustomdrawMyList )  

2013-11-14 16:02:29 1294

转载 100行代码实现最简单的基于FFMPEG+SDL的视频播放器

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。我刚接触FFMPEG的时候也感觉不知从何学起。因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。

2013-11-14 15:58:50 830

转载 关于vs2005的“应用程序配置不正确,无法运行”问题的解决方法

vs2005很强大,很邪恶。从vc6慢慢过渡到了vs2005,这款ide确实做得很体贴,也非常好用。但是美中不足的是,在它上面写一个程序,哪怕你是用release模式生成的程序,到了第三方没有安装vs插件的机器上仍然无法运行。最直接的错误就是“应用程序配置不正确,程序无法启动”,这一点跟vc6相比就差的很多了,尤其是当你希望开发一些用于验证性的演示程序的时候,通过简单的拷贝粘贴到其它没有安装过vs

2013-11-07 10:04:09 610

转载 LPCTSTR和CString的关系

类型理解  LPCTSTR类型:  L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。  P表示这是一个指针  C表示是一个常量  T表示在Win32环境中, 有一个_T宏  STR表示这个变量是一个字符串详细释义

2013-11-01 16:38:41 392

source insight格式化工具

用source insight 编辑代码时,苦于source insight没有集成的代码格式化工具, GNU的astyle是一个免费的代码格式化工具,能够整理符合c/c++规范 。 我们可以将astyle.exe外挂到SourceInsight中。

2013-06-05

html5学习资料

介绍HTML5高级程序设计,包括html5介绍,高级程序设计原则及方法。

2013-03-16

cisco会议系统调用示例

cisco 会议终端系统的调用示例,能够调用cisco的会议终端并召开会议,结束会议等。

2013-03-16

iocp程序源码

本程序源码可用于做iocp通信的构架,代码清晰,易于集成。

2013-01-16

sip服务器软件

sip服务器软件,可搭软电话终端,简单好用

2013-01-11

dshow sdk笔记

dshow开发技术笔记,学习dshow的好材料

2012-02-12

onvi标准协议的f测试程序

安防/视频监控领域的全球标准协议接口ONVIF及对应的测试工具。

2011-07-26

qt c++演示程序

该程序演示如何编写qt的gui程序,包括编译好的可执行文件等。

2011-05-24

sqldoc工具,用于生成数据库文档

sql server数据库表导出文档工具,

2011-03-19

vc视频聊天源代码,本地使用usb摄像机

vc视频聊天源程序,包括视频和音频的压缩、解压缩,通信,编码、解码程序,可以应用于视频会议开发

2011-02-27

空空如也

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

TA关注的人

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