- 博客(235)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
转载 FTP主动模式和被动模式的区别
基础知识:FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。主动模式FTP:主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端
2016-06-07 11:33:31 440
转载 pthread_rwlock_t基本用法
目录(?)[-]使用读写锁pthread_rwlock_init 语法pthread_rwlock_init 返回值获取读写锁中的读锁pthread_rwlock_rdlock 语法pthread_rwlock_rdlock 返回值读取非阻塞读写锁中的锁pthread_rwlock_tryrdlock 语法pthread_rwlock_tryrdlock 返
2016-05-10 11:08:21 1428
转载 Linux线程锁详解pthread_mutexattr_t
在Posix Thread中定义有一套专门用于线程同步的mutex函数。 1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; 在LinuxThreads实现中
2016-05-10 10:25:33 6200
转载 char,wchar_t比较
C语言相关 对应于char, C语言中也有宽字符内型wchar_t。wchar_t被定义为: typedef unsigned short wchar_t ;显然它是16位的。wchar_t类型的常字串应该这样写: L"hello" 。因此可以这样定义一个宽字符指针wchar_t *pwc=L"hello";。 对于字符串函数, C语言中也有两个版本。如对应于strlen有wc
2016-04-29 11:38:48 1430
转载 Win32串口编程(转:韩耀旭)
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使
2016-04-28 15:07:10 309
转载 C printf() 详解——printf('%08x',number);
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:int printf(const char *format, ...);函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。printf()函数的调用格式为:printf("", );其中格式化字符串包括两部分内容: 一部分是正常字符, 这些
2016-04-25 11:52:51 1575
转载 怎么解决0xc0000005
引起的原因不同,解决方法也不一。方法一、1、点击“开始”-“运行”— 输入“cmd” 回车,2、在命令提示符下输入“ for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1”。回车后慢慢等(需要点时间1-2分钟都运行完再打开看 。方法二、换内存或换内存插槽。方法三、升级系统补丁。方法四、玩QQ时出现这类
2016-04-14 09:44:00 27882 2
转载 一些系统类的头文件(四)
CPtrList afxcoll.hCReBar afxext.hCReBarCtrl afxcmn.hCRecentFileList afxadv.hCRecordset afxdb.hCRecordView afxdb.hCRect atltypes.hCRectTracker afxext.hCResourceException afxwin.hCRgn
2016-04-12 14:14:29 676
转载 一些系统类的头文件(三)
CMultiLock afxmt.hCMultiPageDHtmlDialog afxdhtml.hCMutex afxmt.hCNotSupportedException afx.hCObArray afxcoll.hCObject afx.hCObList afxcoll.hCOccManager afxocc.hCOleBusyDialog afxodlgs.
2016-04-12 14:13:42 1500
转载 一些系统类的头文件(二)
CFileException afx.hCFileFind afx.hCFindReplaceDialog afxdlgs.hCFont afxwin.hCFontDialog afxdlgs.hCFontHolder afxctl.hCFormView afxext.hCFrameWnd afxwin.hCFtpConnection afxinet.hCFtp
2016-04-12 14:11:33 626
转载 一些系统类的头文件(一)
Class Header_fileCAnimateCtrl afxcmn.CArchive afx.hCArchiveException afx.hCArray afxtempl.hCAsyncMonikerFile afxole.hCAsyncSocket afxsock.hCBitmap afxwin.hCBitmapButton afxext.h
2016-04-12 14:09:19 1109
转载 《C++标准程序库》学习笔记 -- 第二章
由于是开篇,本文所讲都很基础,但这些基础内容对后面的学习是非常重要的。1 C++标准C++的标准化是一个漫长的过程。为何要标准化?作为一个语言,如果不设立相应的标准规格那是万万不能的。世界上有很多C++程序员,他们都有各自的编程风格,如果不做统一的话,那么这门语言将会演变出相当多个版本,这也会让C++进入分崩离析的状态,其中的一个严重后果就是兼容性问题,因而,标准化是必不可少的,
2016-04-12 11:52:59 292
转载 char与wchar_t的区别 ANSI Unicode
有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,有必要把来龙去脉搞清楚。 为了搞清这些函数,就必须理请几种字符类型的写法。char就不用说了,先说一些wchar_t。wchar_t是Unicode字符的数据类型,它实际定义在里:typedef unsigned short wchar_t; 不能使用类似strcpy这样的ANSI C字符串函数来处理wchar_t字
2016-04-11 15:26:19 319
原创 stl -- 适配器
适配器分四类:一. 迭代器适配器:分三类:1. 安插性迭代器2.流迭代器3.逆向迭代器二. 容器适配器三. 算法适配器四.反函数适配器有时间再接着写
2016-04-07 18:47:52 343
转载 泛型技术的三个学习阶段(侯捷)-转
就像人们总是把目光放在艳丽的牡丹上而忽视了花旁的绿叶,作为一个广为人知的面向对象程序语言(OOPL),C++所支持的另一种思维模式:泛型,被严重 忽略了。说起红花绿叶,好像主观上划分了主从,其实面向对象思维和泛型思维两者之间无分主从。两者相辅相成,对程序开发将带来更大的突破。 面对新技术,我们的障碍在于心中的怯懦和迟疑。To be or not to be, that is the
2016-04-01 18:05:15 582
转载 国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard
2016-04-01 17:27:44 267
转载 extern用法:C文件和C++文件之间的函数互调
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块
2016-04-01 10:00:42 526
转载 函数调用的区别:_cdecl以及_stdcall
一、概念1)_stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加
2016-04-01 09:22:36 303
转载 __declspec(dllimport)的作用
是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,就像一个国家一样,有出口也有进口,有什么难理解的呢?这是一种很自然的思路,开始我也是这样理解。
2016-03-31 20:44:51 258
转载 libc与glibc的概念和区别
glibc和libc都是Linux下的C函数库,libc是Linux下的ANSI C的函数库;glibc是Linux下的GUN C的函数库;ANSI C和GNU C有什么区别呢?ANSIC是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据 头文件划分为 15 个部分,其中包括::包含用来测试某个特征字符的函数的函数原型,以及用来转换大小写字母的函数原型;
2016-03-31 20:34:55 1640
转载 C++异常以及错误处理
计算机应用程序中离不开错误处理,尤其是生产型大型软件系统。应用软件系统运行属于循环处理事务,出错后需要保证不能让软件程序直接退出。这就需要使用一定的程序容错处理来应对。一般情况下,大型软件开发中的软件系统容错处理会结合异常处理、错误代码定义的使用与相应的出错处理日志记录,包括一定的参与大型生产系统的监控系统等配合保障系统的稳定性。下面本章将会就C++软件系统中提供的异常处理作详细的讲述,包括基本概
2016-03-31 14:43:15 646
转载 c++基础知识---名字空间
namespace 是C++中的一个新的特性,它的出现只要是为了避免出现名字污染。JAVA语言中的packing包和C++的namespace功能差不多*************************************************************************1.引入namespace的理由这是一个非常非常重要的特性,它使得C++可以更加方便地
2016-03-31 14:15:55 281
转载 linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底
2016-03-29 18:11:05 254
转载 linux下多进程、多线程编程
linux下进程 (一) 理解Linux下进程的结构 Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。 堆栈段存放的就
2016-03-29 18:10:09 501
转载 Linux 多进程和多线程的优缺点
在Linux下编程多用多进程编程少用多线程编程。 IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linu
2016-03-29 18:08:46 3293
转载 windows异常处理 __try __except
try-except用法 try except是windows 系统独有的异常处理模型,windows的异常处理模式,称为SEH( structured exception handling ), SEH的异常处理模型主要由try-except语句来完成,与标准的try catch相似。与C++异常处理模型使用catch关键字来定义异常处理模块,而SEH是采用__ex
2016-03-25 20:50:15 1354
转载 程序员求职,有时与能力无关
此文我并不是讲求职与人品相关的老调重弹。生活没有那么理想化。大多数人读大学时都有这样的体验,大早上的去图书馆自习,却不成想即使图书馆没几个人,但位子全被占了。占座的人要么是为自己占的,要么是为同学朋友占的。你得到位子跟你学习好坏有关么,不少差生照样在图书馆位子上霸占着,尽管他们根本不学习。年纪大一点的人,甚至还成为了图书馆老油条,比如私自买锁给桌子抽屉或图书馆柜子给锁了,他们的书摆在固定桌
2016-03-23 09:23:58 343
转载 迭代器是什么
在学习c++ STL的时候,整天碰到迭代器,也整天用,但是,到底它是个什么东西,很多人没有一个认识。这里我通过几个小的DEMO,来看看迭代器。首先我实现了一个十分简陋的vector类:template class T> class vector { private: T* pbegin; int n; //当前大小 public:
2016-03-21 09:15:43 397
转载 YUV(YCbCr)采样格式
主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2 x 2 个点保存一个 Cr和Cb值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 每个点需要 8x3=24
2016-03-18 17:10:34 1918
转载 RGB<—>YUV RGB<—>YCbCr
在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。 YUV 使用RGB的信息,但它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色。把这三个信号组合回来就可以产生一个全彩色图像。 Y 通道描述 Luma 信号,它与亮度信号有
2016-03-18 16:58:05 428
转载 启动调试时总是提示此项目已经过期的解决方案
首先在Visual Studio里如果编译没过,那么这个提示就是正常的。因为此项目已经过期表示你改了某些文件或项目配置或者上次没有编译成功,需要重新编译,否则调试会出错。如果你上次编译通过了,按F5调试还是出现此提示,那可能就有问题了。如果每次都出现这样的问题,那么这个解决方案很适合你。当然解决方案不是选择“不要再显示此对话框”,这个只是不显示,但是每次调试还会先编
2016-03-18 14:39:54 58155 23
转载 名字修饰约定extern "C"与extern "C++"浅析
所谓名字修饰约定,就是指变量名、函数名等经过编译后重新输出名称的规则。 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z、?Func@@YGHHH@Z、_Func@8,也有可能与源代码中名称相同为Func。 影响编译后输出的名称通常与名字修饰约定(extern "C"、extern "C++"等)和函数调用约
2016-03-18 11:46:57 279
转载 BMP文件格式
BMP文件格式解析位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。BMP位图文件默认的文件扩展名是bmp或者dib。BMP文件大体上分为四个部分:位图文件头主要包括:[cpp] view plain copytypedef str
2016-02-25 14:27:12 421
转载 TinyXML入门
如下是一个XML片段: 周星星 20 白晶晶 18 在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类。
2016-02-14 10:02:56 228
转载 Invoke与BeginInvoke
一、为什么 Control类提供了 Invoke和 BeginInvoke机制?关于这个问题的最主要的原因已经是 dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、 windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让 windows程序生生不息。
2016-02-02 13:42:35 218
转载 结构体和类向前声明
在编译程序是出现了如下错误, 类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。 将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。在显式声明异常规范的时候不能使用incomplete
2016-01-31 13:24:16 3081
转载 TotoiseSVN的基本使用方法
TotoiseSVN的基本使用方法在 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经讲了怎么使用VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使用方法。一、签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个
2016-01-29 10:52:25 192
转载 平面YUV422转平面RGB24 平面YUV420转平面YUV422 平面YUV420转RGB24
//平面YUV422转平面RGB24static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int width, int height){ int R,G,B,Y,U,V; int x,y; int nWidth = width>>1; //色度信号宽度 for (y=0;y
2016-01-13 09:13:17 379
转载 JPEG图像的压缩解压 ljpeg
解压缩操作过程1. 为JPEG对象分配空间并初始化2. 指定解压缩数据源3. 获取文件信息4. 为解压缩设定参数,包括图像大小,颜色空间5. 开始解压缩6. 取出数据7. 解压缩完毕8. 释放资源 为JPEG
2016-01-11 14:25:18 755
原创 jpeg->yuv420sp
#include #include #include #include #include #include #include #include #include #include #include "linux/fb.h"#include #include #include #include #include #define
2016-01-09 17:36:22 362
cximage 图像转换,图像旋转,处理图像的高级类库
2010-09-01
海康的H264数据做流媒体怎么做
2015-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人