C/C++
文章平均质量分 79
古美門直樹
神爱世人
展开
-
模块式编译的Makefile
平时少不了在linux下写Demo,每次都gcc -o 或者单独写个不可移植的Makefile真的很麻烦,所以写个通用的Makefile很重要 .PHONY:all clear rebuild globalMAKEDIR=$(shell pwd)MAKE=makeCC=gccCP=g++AR=arCOPY=cpMV=mvRM=rm -fUSER原创 2013-08-15 10:43:24 · 2588 阅读 · 0 评论 -
几种CRT函数的汇编实现
.data.set ZERO , 0b00000000000000000000000000000000strlen:在这里利用scasb命令,scasb将di指向的数据与al比较,repne表示重复扫描,如果不相等,则di递增指向下一个数据,cx也递减,如此重复,知道遇到结束符‘\0’为止。代码中利用eax存储常值0与数据比较,利用ecx累计长度,由于累计后是负值,所以将其取正返回(拉长原创 2013-01-18 14:38:06 · 1217 阅读 · 0 评论 -
minidlna源码初探(三)—— ACE实现SSDP设备发现功能
前一篇文章minidlna源码初探(二)—— SSDP设备发现的大致流程介绍了SSDP设备发现的大致流程。本文将根据这一流程使用ACE库大致实现该流程。在VLC中模拟出一个伪服务端(设备),为了方便,我们省略了一些验证的内容,对一些XML消息也采取写死的方式。原创 2014-05-30 13:39:31 · 4212 阅读 · 1 评论 -
minidlna源码初探(二)—— SSDP设备发现的大致流程
SSDP设备发现的大致流程原创 2014-05-29 09:39:45 · 5739 阅读 · 0 评论 -
可变参数及可变参数宏的使用
我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,这里将介绍可变函数的写法以及原理.* 1. 可变参数的宏一般在调试打印Debug 信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC 也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____转载 2014-06-09 16:49:12 · 5810 阅读 · 0 评论 -
motion源码分析(二)——录像
前言:之前的博文将ffmpeg编入motion的结尾,提到了motion的一些简单的应用。本文将以录像为契入点,分析这部分的代码。正文:刷照片的效果实在太挫了,让我们看看如何打开ffmpeg录像的配置。这里需要修改motion-dist.conf中的两个选项(采用默认值则不会录像):# Use ffmpeg to encode a timelapse movie #原创 2014-04-10 19:47:43 · 2856 阅读 · 0 评论 -
将ffmpeg编入motion
前言Motion是一种程序,监视从摄像机的视频信号。原创 2014-03-17 19:09:39 · 7501 阅读 · 4 评论 -
motion源码分析(一)
楔子前几天研究了如何将ffmpeg编入motion(http://blog.csdn.net/sakaue/article/details/21394219),并实现录像功能。现在研究下motion的工作流程。几个主要模块motion.c主程序,视频采集编码主循环ffmpeg.c一个代理模块,封装了ffmpeg的方法,根据v4l获取的数据编码原创 2014-04-03 10:11:01 · 2789 阅读 · 0 评论 -
STLport::hash_map实现分析
前言原创 2014-03-07 17:35:46 · 2265 阅读 · 5 评论 -
minidlna源码初探(一)
前言minidlna是一种优秀的DLNA解决方案。本文将涉及minidlna的upnp以及目录管理的代码。minidlna的下载链接如下:wget http://netcologne.dl.sourceforge.net/project/minidlna/minidlna/1.1.0/minidlna-1.1.0.tar.gz控制点使用VLC Media Player,下载链接原创 2014-02-11 17:45:48 · 10930 阅读 · 2 评论 -
移植minidlna到Lamobo
前言lamobo是一款比Raspberry Pi更便宜计算能力更强的开发板。详见:lamobo本文将介绍如何将minidlna项目移植到lamobo开发板上。正文首先需要准备交叉编译toolchain,这里我们需要gcc-linaro-arm-linux-gnueabihf,下载地址如下:https://releases.linaro.org/13.10原创 2014-02-18 16:17:22 · 4156 阅读 · 0 评论 -
利用GNUplot图形化显示cyclictest的数据
前言上次研究了下cyclictest的源码以及它的基本应用,地址如下:http://blog.csdn.net/sakaue/article/details/17843761结果虽然出来了,但是观察数字终究不够直观,GNUplot可以配合cyclictest提供图形化表示,对评估rt-linux的性能很有意义正文安装:sudo apt-get install原创 2014-01-13 16:48:15 · 2267 阅读 · 0 评论 -
Signaltest源码分析
前言之前研究过cyclictest的源码,详见:http://blog.csdn.net/sakaue/article/details/17843761现在再研究下signaltest的源码正文signaltest的程序结构与cyclictest大致类似。不同的是,cyclictest通过检测线程睡眠时间期望与实际之间的误差来检测性能。signaltest通过起n个原创 2014-01-10 18:00:58 · 2239 阅读 · 0 评论 -
cyclictest源码分析
前言最近研究了下rt-linux,在ubuntu上跑了3.4.72-rt89的实时内核,并且运行了cyclictest检验实时内核与普通内核的区别,详见:http://blog.csdn.net/sakaue/article/details/17629917http://blog.csdn.net/sakaue/article/details/17715287正文原创 2014-01-04 16:15:51 · 3433 阅读 · 3 评论 -
cmake函数参数解析
最近在迁移公司的make系统到cmake上,发现cmake的function参数很奇怪。例如,如果我们向一个function传递list作为参数,在function中,形参会变成如下状况:set(SRC)list(APPEND SRC a.cpp b.cpp)list(APPEND SRC c.cpp d.cpp)function(tst_arguments src_list) me原创 2014-08-05 01:27:41 · 9938 阅读 · 0 评论