DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

06 2015 档案

摘要:1、NAL全称Network Abstract Layer, 即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的... 阅读全文
posted @ 2015-06-30 20:13 DoubleLi 阅读(2068) 评论(1) 推荐(0) 编辑

摘要:U-boot的环境变量值得注意的有两个:bootcmd 和bootargsu-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数. bootcmd=mmcinit;fatl... 阅读全文
posted @ 2015-06-30 19:41 DoubleLi 阅读(1015) 评论(0) 推荐(0) 编辑

摘要:一、Linux中的硬件设备号 设 备 设 备 号 IDE硬盘 /dev/hd[a-d] (并行硬盘) SCSI硬盘 /dev/sd[a-p] (串行硬盘) U盘 /dev/sd[a-p] 光驱 /dev/cdrom 软驱 /dev/fd[0-1] 打印机 /dev/lp[0-2] 鼠标 /dev/m... 阅读全文
posted @ 2015-06-30 19:38 DoubleLi 阅读(3475) 评论(0) 推荐(0) 编辑

摘要:首先确保你的服务端已经配置好samba并成功启动服务,方法可参考此文章http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.aspx,我们就可以从 Windows 客户端通过Windows网络连接到Samba,这里以 Windows... 阅读全文
posted @ 2015-06-30 19:34 DoubleLi 阅读(2971) 评论(0) 推荐(0) 编辑

摘要:(1)C语言跟内存分配方式从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很... 阅读全文
posted @ 2015-06-30 19:32 DoubleLi 阅读(28955) 评论(1) 推荐(1) 编辑

摘要:H264码流打包分析SODB 数据比特串-->最原始的编码数据RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。EBSP 扩展字节序列载荷-- >在RBSP基础上填加了仿校验字节(0X03)它的原因是... 阅读全文
posted @ 2015-06-26 15:43 DoubleLi 阅读(22309) 评论(0) 推荐(1) 编辑

摘要:学了264有将近3个月有余,好多时候都在学习老毕的书和反复看JM86的代码,最近才找到264分析两大利器:264VISA和Elecard StreamEye Tools。不由得感叹,恨不逢同时。 简单的说下这两个软件: 264visa 强力的h264实时分析工具 ,能分析各种场合下的h264资源,适... 阅读全文
posted @ 2015-06-26 15:38 DoubleLi 阅读(837) 评论(0) 推荐(0) 编辑

摘要:1. 定义自定义消息[cpp]view plaincopy/***\brief消息测试*/#defineE6100_MSG_TEST(WM_USER+1001)2. 声明自定义消息处理函数[cpp]view plaincopy/***\brief写入数据操作完毕*/afx_msgLRESULTOnT... 阅读全文
posted @ 2015-06-24 20:03 DoubleLi 阅读(762) 评论(0) 推荐(0) 编辑

摘要:本文地址:http://blog.163.com/strive_only/blog/static/893801682010101911467765/消息机制是windows的典型运行机制,在MFC中有很多的消息如WM_BTN**等。但是在有些情况下我们需要自定义一些消息去做一些我们需要的功能,MFC... 阅读全文
posted @ 2015-06-24 20:00 DoubleLi 阅读(401) 评论(0) 推荐(0) 编辑

摘要:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit2... 阅读全文
posted @ 2015-06-24 16:01 DoubleLi 阅读(291) 评论(0) 推荐(0) 编辑

摘要:今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cm... 阅读全文
posted @ 2015-06-24 16:00 DoubleLi 阅读(352) 评论(0) 推荐(0) 编辑

摘要:七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。... 阅读全文
posted @ 2015-06-24 15:15 DoubleLi 阅读(718) 评论(0) 推荐(0) 编辑

摘要:1、wildcard : 扩展通配符2、notdir : 去除路径3、patsubst :替换通配符例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和s... 阅读全文
posted @ 2015-06-23 16:03 DoubleLi 阅读(284) 评论(0) 推荐(0) 编辑

摘要:在前面的一篇文章中,简单了介绍了HTTP报文格式,详情参考http://www.firefoxbug.net/?cat=47。这里大概介绍下基本的,常见的HTTP包头格式。POST /report/getComment.jsp HTTP/1.1Host: yeeg.comConnection: ke... 阅读全文
posted @ 2015-06-23 16:02 DoubleLi 阅读(1169) 评论(0) 推荐(0) 编辑

摘要:linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunn... 阅读全文
posted @ 2015-06-23 15:01 DoubleLi 阅读(496) 评论(0) 推荐(0) 编辑

摘要:ffmpeg编译过程:1http://ffmpeg.zeranoe.com/builds/下载官方提供的源码,win32库和dll。2 新建vc2005 console空工程,把ffmpeg.h,ffmpeg.c,cmdutils.c,cmdutils.h,cmdutils_common_opts.... 阅读全文
posted @ 2015-06-20 14:40 DoubleLi 阅读(429) 评论(0) 推荐(0) 编辑

摘要:在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步。(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http://ffmpeg.zeranoe.com/builds/)。(1)像其他额外库一样,设置VC的Inc... 阅读全文
posted @ 2015-06-20 14:39 DoubleLi 阅读(565) 评论(0) 推荐(0) 编辑

摘要:本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处。 FFmpeg是在Linux平台下开发的,但它同样可以在其它操作系统环境中编译运行,本文介绍的就是在windows下编译FFmpeg。一 编译准备 ... 阅读全文
posted @ 2015-06-20 14:38 DoubleLi 阅读(354) 评论(0) 推荐(0) 编辑

摘要:更新记录(2014.7.24):1.为了使本文更通俗易懂,更新了部分内容,将例子改为从内存中打开。2.增加了将数据输出到内存的方法。从内存中读取数据ffmpeg一般情况下支持打开一个本地文件,例如“C:\test.avi”或者是一个流媒体协议的URL,例如“rtmp://222.31.64.208/... 阅读全文
posted @ 2015-06-20 14:32 DoubleLi 阅读(2387) 评论(0) 推荐(0) 编辑

摘要:ffmpeg编解码学习目录(?)[-]ffmpeg程序的使用ffmpegexeffplayexeffprobeexe1 ffmpegexe2 ffplayexe3 ffprobeexeffmpeg库的使用视频播放器1 ffmpeg库的配置2 最简单的视频播放器3 相关结构体的研究ffmpeg库的使用... 阅读全文
posted @ 2015-06-20 13:53 DoubleLi 阅读(8322) 评论(0) 推荐(0) 编辑

摘要:移植ffmpeg过程中,遇到swscale的用法问题,所以查到这篇文章。文章虽然已经过去很长时间,但是还有颇多可以借鉴之处。谢谢“咕咕鐘"。 转自:http://guguclock.blogspot.com/2009/12/ffmpeg-swscale.html 如果想將某個PixelForma... 阅读全文
posted @ 2015-06-20 13:52 DoubleLi 阅读(952) 评论(0) 推荐(0) 编辑

摘要:原文http://blog.csdn.net/gubenpeiyuan/article/details/19548019主题FFmpeg本文概要: 本文介绍著名开源音视频编解码库ffmpeg如何解码h264码流,比较详细阐述了其h264码流输入过程,解码原理,解码过程。同时,大部分应用环境下,... 阅读全文
posted @ 2015-06-20 10:40 DoubleLi 阅读(408) 评论(0) 推荐(0) 编辑

摘要:关键字:std::string Unicode转自:http://www.vckbase.com/document/viewdoc/?id=1293一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单。基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE... 阅读全文
posted @ 2015-06-18 20:05 DoubleLi 阅读(695) 评论(0) 推荐(0) 编辑

摘要:HTTP协议工作方式首先客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(response)返回给客户端。在这个通信的过程中HTTP协议在以下4个方面做了规定:1. Request和Response的格式Request格式:HTTP请求行(请求)头空行可选的消息体... 阅读全文
posted @ 2015-06-18 15:00 DoubleLi 阅读(1195) 评论(0) 推荐(0) 编辑

摘要:HTTP实现长连接HTTP是无状态的也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个... 阅读全文
posted @ 2015-06-18 14:58 DoubleLi 阅读(2385) 评论(0) 推荐(0) 编辑

摘要:HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此In... 阅读全文
posted @ 2015-06-18 14:56 DoubleLi 阅读(656) 评论(0) 推荐(0) 编辑

摘要:[转]HTTP请求模型和头信息参考参考:http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型:http://blog.csdn.net/baggio785/archive/2006/04/13/661412.aspxHTTP请... 阅读全文
posted @ 2015-06-18 14:53 DoubleLi 阅读(434) 评论(0) 推荐(0) 编辑

摘要:关于extern_C通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:[plain]view plaincopyprint?#ifdef__cplusplusextern"C"{#endif/****somedeclarationorso*****/#ifdef__cplusplus}#e... 阅读全文
posted @ 2015-06-18 09:00 DoubleLi 阅读(591) 评论(0) 推荐(0) 编辑

摘要:正好是我们代码中遇到的问题,之前不求甚解,只用g++编译没有错误就不管了,现在要跨平台到windows下就遇到了问题。全文转载自:http://user.qzone.qq.com/75172588/blog/1248167335gcc和g++的区别1、gcc在编译阶段,把后缀为.c的源文件按照c语法... 阅读全文
posted @ 2015-06-18 08:58 DoubleLi 阅读(5160) 评论(0) 推荐(0) 编辑

摘要:#include #include #include #define MAXSIZE 1024#pragma comment(lib, "Wininet.lib")void urlopen(TCHAR*);int main(int argc, TCHAR* argv[]){TCHAR ch[] = ... 阅读全文
posted @ 2015-06-17 13:47 DoubleLi 阅读(669) 评论(0) 推荐(0) 编辑

摘要:函数原型:#includeCURLcodecurl_easy_setopt(CURL*handle,CURLoptionoption,parameter);说明:此函数用来告诉libcurl执行什么样的动作。该函数有3个参数(该函数的可设置选项非常之多):第1个参数handle是由curl_easy... 阅读全文
posted @ 2015-06-17 13:46 DoubleLi 阅读(28389) 评论(0) 推荐(3) 编辑

摘要:原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/JGood) 译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对libcurl的... 阅读全文
posted @ 2015-06-17 13:45 DoubleLi 阅读(1376) 评论(1) 推荐(1) 编辑

摘要:1. LibCurl编程流程在基于LibCurl的程序里,主要采用callback function (回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时libcurl将调用用户的回调函数实现特定功能。下面是利用libcurl完成传输任务的流程:1. 调用curl... 阅读全文
posted @ 2015-06-17 13:44 DoubleLi 阅读(20586) 评论(0) 推荐(1) 编辑

摘要:无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。那么Linux下的wifi到底该怎么配置、连接呢??开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。配置wifi模块,并连接相应的无线网络过程:主要使用iw... 阅读全文
posted @ 2015-06-17 10:42 DoubleLi 阅读(787) 评论(0) 推荐(0) 编辑

摘要:方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册示例:regsvr32 netshare.ocx //注册netshare.ocx控件regsvr32 /u netshare.ocx //解除netshare.ocx控件的注册如果netshare.ocx文... 阅读全文
posted @ 2015-06-17 10:32 DoubleLi 阅读(851) 评论(0) 推荐(0) 编辑

摘要:1.打开文件,打开需要注册的OCX文件或dll文件,2.然后根据需要进行OCX文件或DLL文件的注册和反注册DLL.OCX注册方法--文件Regsvr32用法及情况介绍使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件... 阅读全文
posted @ 2015-06-17 09:49 DoubleLi 阅读(2881) 评论(0) 推荐(0) 编辑

摘要:原文地址:SDL 2.0 Tutorial IndexWelcome!下面的教程旨在为你提供一个SDL2.0以及c++中游戏设计和相关概念的介绍。在本教程中,我们假定你对C++有一定程度上的知识,至少了解数组,vector,控制结构,函数还有指针。如果你觉得理解教程中的代码有困难,你可以在教程后面随... 阅读全文
posted @ 2015-06-17 09:25 DoubleLi 阅读(768) 评论(0) 推荐(0) 编辑

摘要:在windows系统如果开发万能播放器,一般都是基本DirectShow来开发,开发也很简单,但缺点也很多,一个文件格式是否能够播放完全取决于你 是否安装了正确的解析器和解码器,即使现在有了万能解器安装包也会出现很多问题,不过自从很多开源软件的出现,比如大名鼎鼎的ffmpeg,vlc等,一 切都变得... 阅读全文
posted @ 2015-06-17 09:23 DoubleLi 阅读(3459) 评论(0) 推荐(1) 编辑

摘要:近日需要做一个视频转码服务器,对我这样一个在该领域的新手来说却是够我折腾一番,在别人的建议下开始研究开源ffmpeg项目,下面是在代码中看到的一 段例子代码,对我的学习非常有帮助。该例子代码包含音频的解码/编码和视频的编码/解码,其中主要用到编解码的libavcodec组件。以下是完整的例 子,代码... 阅读全文
posted @ 2015-06-17 09:22 DoubleLi 阅读(1193) 评论(0) 推荐(0) 编辑

摘要:1. 注册所有解码器av_register_all();2. Codec & CodecContextAVCodec* codec = avcodec_find_decoder(CODEC_ID_AAC);if (!codec){fprintf(stderr, "codec not found\n"... 阅读全文
posted @ 2015-06-17 09:21 DoubleLi 阅读(2062) 评论(0) 推荐(0) 编辑

摘要:FFMPEG解码流程:1. 注册所有容器格式和CODEC: av_register_all()2. 打开文件: av_open_input_file()3. 从文件中提取流信息: av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对... 阅读全文
posted @ 2015-06-17 09:20 DoubleLi 阅读(9786) 评论(0) 推荐(1) 编辑

摘要:gcc -o tutorial03 tutorial03.c -lavutil -lavformat -lavcodec -lz -lm \`sdl-config --cflags --libs`AUDIO名词解释:samples:采样,通过PCM来采样,通常样本16bit,PCM的采样精度从14-... 阅读全文
posted @ 2015-06-17 09:19 DoubleLi 阅读(1451) 评论(0) 推荐(0) 编辑

摘要:在网上找了很久这方面的内容,发现网上的代码都太旧了,所使用的函数旧到连最新版本的ffmpeg都已经不包含了,所以对于我这个初学者来说太坑拉。不过经过多次查找ffmpeg的头文件和结合网上的内容,终于成功可以解码拉。现在贴出来。首先是初始化一些参数[cpp]view plaincopy//下面初始化h... 阅读全文
posted @ 2015-06-17 09:18 DoubleLi 阅读(837) 评论(0) 推荐(0) 编辑

摘要:// gcc -o testDrone2_video testDrone2_video.c -lavcodec -lavformat -lswscale -lSDL2// g++ -o testDrone2_video testDrone2_video.c -lavcodec -lavformat ... 阅读全文
posted @ 2015-06-17 09:17 DoubleLi 阅读(974) 评论(0) 推荐(0) 编辑

摘要:SDL全称是Simple DirectMedia Layer,是一个开源的、跨平台(win32,linux,mac)的多媒体开发c语言库。官方网站 http://www.libsdl.org/第一步,下载源文件首先去这个页面http://www.libsdl.org/tmp/download-2.0... 阅读全文
posted @ 2015-06-17 09:10 DoubleLi 阅读(2258) 评论(0) 推荐(0) 编辑

摘要:牛逼的视频会议网站:http://wmnmtm.blog.163.com/blog/#m=0++++++++++++++++++++++++++++++++++++++++++++++++++++http://wmnmtm.blog.163.com/blog/static/3824571420119... 阅读全文
posted @ 2015-06-16 22:52 DoubleLi 阅读(3995) 评论(0) 推荐(0) 编辑

摘要:H264元素的分层结构H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构,分别描述各个层次的信息。在H.264 中,句法元素共被组织成序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元... 阅读全文
posted @ 2015-06-16 22:48 DoubleLi 阅读(20957) 评论(0) 推荐(1) 编辑

摘要:http://blog.csdn.net/dxpqxb/article/details/7631304H264以NALU(NAL unit)为单位来支持编码数据在基于分组交换技术网络中传输。NALU定义了可用于基于分组和基于比特流系统的基本格式,同时给出头信息,从而提供了视频编码和外部世界的接口。H... 阅读全文
posted @ 2015-06-16 22:44 DoubleLi 阅读(7182) 评论(0) 推荐(0) 编辑

摘要:概述编辑sigaction(查询或设置信号处理方式)相关函数 signal,sigprocmask(),sigpending,sigsuspend,sigemptyset表头文件 #include定义函数 int sigaction(int signum,const struct sigaction... 阅读全文
posted @ 2015-06-16 16:36 DoubleLi 阅读(895) 评论(0) 推荐(0) 编辑

摘要:sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数olda... 阅读全文
posted @ 2015-06-16 16:33 DoubleLi 阅读(16829) 评论(0) 推荐(1) 编辑

摘要:sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数olda... 阅读全文
posted @ 2015-06-16 16:26 DoubleLi 阅读(2079) 评论(0) 推荐(0) 编辑

摘要:http://blog.csdn.net/muge0913/article/details/7331129要对一个信号进行处理,就需要给出此信号发生时系统所调用的处理函数。可以对一个特定的信号(除去SIGKILL和SIGSTOP信号)注册相应的处理函数。注册某个信号的处理函数后,当进程接收到此信号时... 阅读全文
posted @ 2015-06-16 16:15 DoubleLi 阅读(1583) 评论(0) 推荐(0) 编辑

摘要:今天看到unp时发现之前对signal到理解实在浅显,今天拿来单独学习讨论下。signal,此函数相对简单一些,给定一个信号,给出信号处理函数则可,当然,函数简单,其功能也相对简单许多,简单给出个函数例子如下:[cpp]view plaincopy1#include2#include3#includ... 阅读全文
posted @ 2015-06-16 16:06 DoubleLi 阅读(3136) 评论(0) 推荐(0) 编辑

摘要:http://blog.chinaunix.net/uid-9354-id-2425031.html所以希望能用相同方式处理信号的多次出现,最好用sigaction.信号只出现并处理一次,可以用signal.signal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处... 阅读全文
posted @ 2015-06-16 15:54 DoubleLi 阅读(40819) 评论(0) 推荐(1) 编辑

摘要:1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套... 阅读全文
posted @ 2015-06-16 15:50 DoubleLi 阅读(441) 评论(0) 推荐(0) 编辑

摘要:http://wenku.baidu.com/link?url=K1XPdj9Dcf2of_BsbIdbPeeZ452uJqiF-s773uQyMzV2cSaPRIq6RddQQH1zr1opqVBMy9e9ns8jJkBWGT8CBtf3FTp3QRzNpshLg_lMPsS 阅读全文
posted @ 2015-06-15 19:51 DoubleLi 阅读(1755) 评论(0) 推荐(0) 编辑

摘要:方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册示例:regsvr32 netshare.ocx //注册netshare.ocx控件regsvr32 /u netshare.ocx //解除netshare.ocx控件的注册如果netshare.ocx... 阅读全文
posted @ 2015-06-15 17:22 DoubleLi 阅读(871) 评论(0) 推荐(0) 编辑

摘要:有两个可以进行控制串口阻塞性(同时控制read和write):一个是在打开串口的时候,open函数是否带O_NDELAY;第二个是可以在打开串口之后通过fcntl()函数进行控制。阻塞的定义: 对于read,block指当串口输入缓冲区没有数据的时候,read函数将会阻塞在这里,移植到串口输入缓... 阅读全文
posted @ 2015-06-13 14:35 DoubleLi 阅读(4068) 评论(0) 推荐(0) 编辑

摘要:提示:(1)计算字符串长度时关键是要注意辨认转义字符;(2)一个转义字符总是以反斜杠开始,再加一个其他字符组成。所以,遇到反斜杠时要特别注意!!!示例:1、不带转义字符的字符串 如:“abc!x=/”,strlen求其长度为 7,但是因为字符串在末尾还有一个终止符‘\0’,因此字符串占8个字节,长... 阅读全文
posted @ 2015-06-13 14:08 DoubleLi 阅读(35437) 评论(3) 推荐(0) 编辑

摘要:C语言的左位移能不能超过8位?比如b=a<<20; 这样可以不?如果可以,一个字节只有8个位,左移20位是不是连右边其它字节的12个位(20-8)也一起左移?字符变量左移八次后,所有的位都移出去了,继续左移当然可以,但没有意义,因为左移八次后八个位都是0,再移没有意义追答:他左边的字节不受影响追问:... 阅读全文
posted @ 2015-06-13 12:02 DoubleLi 阅读(10652) 评论(0) 推荐(2) 编辑

摘要:[cpp]view plaincopy#defineFAMILY_NAME"曾"printf(FAMILY_NAME"Jack");最近看到有类似这样的c++代码,当时一看,我靠,还有这样写的啊!什么情况!这样也能行!我当时还不信,认为一定会报语法错误,于是测试下,还真可以。起初还以为是,函数传递参... 阅读全文
posted @ 2015-06-13 10:32 DoubleLi 阅读(2616) 评论(0) 推荐(0) 编辑

摘要:glibc除了提供最底层的C运行库,还封装了kernel提供的API,程序通过glibc进行系统调用(syscall)。应用层面的C库,比如OpenSSL库:/usr/include/openssl比如函数SSL_set_session查看手册 manSSL_set_session引入头文件#inc... 阅读全文
posted @ 2015-06-12 10:16 DoubleLi 阅读(949) 评论(0) 推荐(0) 编辑

摘要:最近在做Android,其中一个任务是写一个能在Linux命令行运行的测试AP,运行这个AP就能关闭设备电源,即Power Off。在 Linux内核中已经找到了关闭电源的函数kernel_power_off(),然后也知道了在sys_reboot()函数中调用 kernel_power_off()... 阅读全文
posted @ 2015-06-12 10:13 DoubleLi 阅读(1287) 评论(0) 推荐(0) 编辑

摘要:NAME syscall - 间接系统调用SYNOPSIS #define _GNU_SOURCE #include #include /* For SYS_xxx definitions */ int syscall(int number, ...);DESCRIPTION syscall()... 阅读全文
posted @ 2015-06-12 10:07 DoubleLi 阅读(4937) 评论(0) 推荐(0) 编辑

摘要:__VA_ARGS__ 是一个可变参数的宏(gcc支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。加##用来支持0个可变参数的情况。测试代码:#include#define PRINT... 阅读全文
posted @ 2015-06-12 09:54 DoubleLi 阅读(570) 评论(0) 推荐(0) 编辑

摘要:1.Preprocessor Glue: The ## Operator预处理连接符:##操作符Like the # operator, the ## operator can be used in the replacement section of a function-like macro.A... 阅读全文
posted @ 2015-06-12 09:53 DoubleLi 阅读(4978) 评论(0) 推荐(0) 编辑

摘要:宏里面使用:一、# 转为字符串#define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) 如果使用PSQR("test2”),则编译出错;而使用PSQR(test2),则ok;#define TEST2(p) (cout<<#p<... 阅读全文
posted @ 2015-06-12 09:52 DoubleLi 阅读(394) 评论(0) 推荐(0) 编辑

摘要:网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0、eth1...... ethX。而普通猫和ADSL的接口是pppX,比如ppp0等;机器中所有可用网卡及名字:参考:linux网络配置相关命令、虚拟网络接口... 阅读全文
posted @ 2015-06-12 09:24 DoubleLi 阅读(835) 评论(0) 推荐(0) 编辑

摘要:网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0、eth1...... ethX。而普通猫和ADSL的接口是pppX,比如ppp0等;机器中所有可用网卡、名字、配置文件:dmesg | grep eth :... 阅读全文
posted @ 2015-06-12 09:14 DoubleLi 阅读(902) 评论(0) 推荐(0) 编辑

摘要:犹记得当年读书的时候,老师说单片机、ARM、DSP有互通之处,都是CPU,但听老师讲都听不懂。 我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法: ICer,从事ARM CPU的SOC设计 按我的理解说几句吧,希望能说薄一点。 首先,说CPU,中央处理器,本质就是一个集成电路,实... 阅读全文
posted @ 2015-06-11 19:49 DoubleLi 阅读(2301) 评论(0) 推荐(0) 编辑

摘要:以前刚学习单片机时,经过一订的编程,能实现很多不同的功能,当时就觉得单片机真的是神通广大。后来接触到DSP,发现DSP处理数字在通信上,更加方便。于是我就很好奇的问自己,DSP和单片机,究竟有什么区别看到某论坛一篇关于DSP和单片机区别的帖子,经过仔细整理,现在再次介绍DSP与单片机的区别,同时让自... 阅读全文
posted @ 2015-06-11 19:42 DoubleLi 阅读(7829) 评论(0) 推荐(0) 编辑

摘要:pthread_mutex_initl头文件:#include l函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);pthread_mutex_t... 阅读全文
posted @ 2015-06-10 17:07 DoubleLi 阅读(10233) 评论(0) 推荐(0) 编辑

摘要:自己想了解下关于system v,在网上看到一篇详细的说明,与大家分享一下,原文地址http://hi.baidu.com/tekuba/item/570887775696542e5c178918以前对glibc,POSIX等的关系一直很迷惑。这是今天在网上找到的说明glibc,POSIX,syst... 阅读全文
posted @ 2015-06-10 17:03 DoubleLi 阅读(4610) 评论(0) 推荐(0) 编辑

摘要:define,无参宏定义的一般形式为:#define标识符字符串外文名define词条范围计算机专业用语无参一般形式#define标识符字符串带参一般形式#define 宏名(形参表) 字符串目录1参数2作用3宏定义优点4无参宏定义5带参宏定义6PHP用法7例子▪例子 1▪例子 21参数编辑#def... 阅读全文
posted @ 2015-06-08 13:39 DoubleLi 阅读(1285) 评论(0) 推荐(0) 编辑

摘要:PPP20世纪90年代后,一种崭新的融资模式-PPP模式(Public-Private-Partnership,即“公共部门-私人企业-合作”的模式)在西方特别是欧洲流行起来,在公共基础设施领域,尤其是在大型、一次性的项目,如公路、铁路、地铁等的建设中扮演着重要角色。PPP模式是一种优化的项目融资与... 阅读全文
posted @ 2015-06-07 12:17 DoubleLi 阅读(501) 评论(0) 推荐(0) 编辑

摘要:BT1、什么是BTBT投资是BOT的一种变换形式,即Build-Transfer(建设—转让),政府通过特许协议,引入国外资金或民间资金进行专属于政府的基础设施建设,基础设施建设完工后,该项目设施的有关权利按协议由政府赎回。通俗地说,BT投资也是一种“交钥匙工程”,社会投资人投资、建设,建设完成以后... 阅读全文
posted @ 2015-06-07 12:16 DoubleLi 阅读(538) 评论(0) 推荐(0) 编辑

摘要:BOT、BT、PPP形式介绍BOT1、什么是BOTBOT是英文Build-Operate-Transfer的缩写,即“建设-经营-转让”。实质上是基础设施投资、建设和经营的一种方式,以政府和私人机构之间达成协议为前提,由政府向私人机构颁布特许,允许其在一定时期内筹集资金建设某一基础设施并管理和经营该... 阅读全文
posted @ 2015-06-07 12:15 DoubleLi 阅读(1606) 评论(0) 推荐(0) 编辑

摘要:通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件。从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习。一、代码编辑器 由于采用Windows下开发Linux的C++程序,那么选择一个在Windows中方... 阅读全文
posted @ 2015-06-03 13:26 DoubleLi 阅读(2052) 评论(0) 推荐(0) 编辑

摘要:1. Linux开发工具的使用Vim编译的使用Gdb调试工具的使用Makefile的编写linux跟踪调试SSH的使用subversion的使用1. Linux开发工具的使用Vim编译的使用Ibm的Vim实用技术http://www.ibm.com/developerworks/cn/linux/l... 阅读全文
posted @ 2015-06-03 13:24 DoubleLi 阅读(621) 评论(0) 推荐(0) 编辑

摘要:libjingle开发人员指南libjingle SDK包含C + +源代码和文档,使您能够设计连接和网络交换数据的应用程序(通过点对点数据连接)。该SDK包含代码和示例应用程序,一个Window平台的Vs2005的解决方案,其他平台的configuration and makefiles文件用来编... 阅读全文
posted @ 2015-06-03 13:23 DoubleLi 阅读(9919) 评论(0) 推荐(1) 编辑

摘要:摘要:某些进程在结束前必须要处理一些额外的过程才能结束,尤其是数据存储的模块,进程停止前为保证数据的完整性可能要做一些事情,如果发生段错误,这时就需要先截获segv信号,处理完后再让程序出core一般进程收到段错误信号默认是dump core文件然后退出,但有些进程在退出时需要处理额外的过程才能结束... 阅读全文
posted @ 2015-06-03 13:22 DoubleLi 阅读(981) 评论(0) 推荐(0) 编辑

摘要://简单的捕捉段错误信号信号处理程序,通过signal来捕捉错误.#include#include#includevoidhandler(ints){if(s==SIGINT)printf("nowgotainterruptsignal");if(s==SIGSEGV)printf("nowgota... 阅读全文
posted @ 2015-06-03 13:12 DoubleLi 阅读(1936) 评论(0) 推荐(0) 编辑

摘要:我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难 免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个 内存访问... 阅读全文
posted @ 2015-06-03 08:56 DoubleLi 阅读(546) 评论(0) 推荐(0) 编辑

摘要:在实际开发过程中,大家可能会遇到段错误的问题,虽然是个老问题,但是其带来的隐患是极大的,只要出现一次,程序立即崩溃中止。如果程序运行在PC中,segment fault的调试相对比较方便,因为可以通过串口、显示器可以查看消息,只要程序运行,通过GDB调试工具即可捕捉产生segment fault的具... 阅读全文
posted @ 2015-06-03 08:55 DoubleLi 阅读(1153) 评论(0) 推荐(0) 编辑

摘要:LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为... 阅读全文
posted @ 2015-06-03 08:36 DoubleLi 阅读(649) 评论(0) 推荐(0) 编辑

摘要:strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用。strace调试工具strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数、返回值、执行时间。在Linux中,用户程序要访问系统设备,必须由用户态切换到内核态,... 阅读全文
posted @ 2015-06-03 08:34 DoubleLi 阅读(2474) 评论(0) 推荐(1) 编辑

摘要:本文为“在C/C++中捕获段错误,打印出错的具体位置”的续篇,进一步解决涉及动态链接库的情况。背景知识:·linux/unix下动态链接库的基本原理·/proc/pid/maps文件的基本格式·动态链接库:在进程执行过程中动态加载,进程间可以共享代码,可用在发布升级包等场合概述: 用户自己编写的代码... 阅读全文
posted @ 2015-06-02 10:08 DoubleLi 阅读(1041) 评论(0) 推荐(0) 编辑

摘要:修订:2013-02-16其实还可以使用glibc的backtrace_symbols函数,把栈帧各返回地址里面的数字地址翻译成符号描述的修订:2011-06-11背景知识:· 在linux/unix中的信号处理机制,知道signal函数与sigaction的区别· 段错误的概念,CPU中断处理的步... 阅读全文
posted @ 2015-06-02 10:06 DoubleLi 阅读(2967) 评论(0) 推荐(0) 编辑

摘要:最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解... 阅读全文
posted @ 2015-06-02 10:03 DoubleLi 阅读(2456) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示