自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

转载 CComPtr用法

COM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃。所以使用COM接口,必须小心翼翼才行。但是,即使所有的代码中,都正确的AddRef和Release,也不一定能保证万无一失,例如:void SomeApp( IHello * pHello ){

2013-07-02 15:41:19 628

转载 理解 pkg-config 工具

转自:http://www.chenjunlu.com/2011/03/understanding-pkg-config-tool/你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。

2013-06-05 16:42:55 609

转载 动态库so和静态库a

gcc 生成 .a静态库和 .so动态库 我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。

2013-06-05 16:15:04 653

转载 共享内存函数(shmget、shmat、shmdt、shmctl)及其范例

共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1.   shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建一个

2013-03-25 19:25:11 895

转载 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例

消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1.   msgget函数原型msgget(得到消息队列标识符或创建一个消息队列对象)所需头文件#include #include #include 函数说明得到消息队

2013-03-25 19:24:06 4519

转载 信号量函数(semget、semop、semctl)及其范例

信号量函数由semget、semop、semctl三个函数组成。下面的表格列出了这三个函数的函数原型及具体说明。1.   semget函数原型semget(得到一个信号量集标识符或创建一个信号量集对象)所需头文件#include #include #include 函数说明得到一个信号量集标识符或创

2013-03-25 19:06:08 1723

转载 linux c 信号量编程

信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码,在此处我们需要保证一个进程(或是一个线程的执行)需要排他的访问一个资源。信号量有一个复杂的编程接口。幸运的是,我们可以很容易的为自己提供一个对于大多数的信号量编程问题足够高效的简化接口。为了阻止多个程序同时访问一个共享资源所引起的问题,我们需要一种方法生成并且使用一个标

2013-03-22 19:34:26 718

转载 Linux 进程通信--共享内存

共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1.   shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建一个

2013-03-21 16:00:22 680

转载 Linux进程间通信之信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory)

System V 进程通信方式:信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory) 信号量信号量(semaphore)实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每个进程所关心的测试和设置操作而言,这两个操作是不可中断的,或称“原子”操作,即一旦开始直到两个操作全部完成。测试和设置操作的结果是:信号量的

2013-03-21 15:59:19 2707

转载 Linux下的定时器-程序设计

简介这篇文章主要记录我在试图解决如何尽可能精确地在某个特定的时间间隔执行某项具体任务时的思路历程,并在后期对相关的API进行的归纳和总结,以备参考。   问题引出很多时候,我们会有类似“每隔多长时间执行某项任务”的需求,乍看这个问题并不难解决,实则并不容易,有很多隐含条件需要考虑,诸如:时间精度是多少?时间是否允许出现偏差,允许的偏差是多少,偏差之后如何处理?系统的负载如何?这个程序允

2013-03-20 19:26:30 895

转载 glib库双向链表GList介绍

come from:http://blog.csdn.net/plusboy/article/details/1489328在上一篇文章里我介绍了glib库中单向链表的用法,这篇文章介绍glib库双向链表的用法,还是沿用上一篇文章的风格,采用在代码中加入注释来说明代码,最后贴出程序的运行结果,然后加以少量说明。双向链表与单向链表的区别是,从一个节点,不仅能访问到它的下一个节点,还能

2013-03-08 12:57:46 6883

转载 glib库单向链表GSList介绍

come from: http://blog.csdn.net/plusboy/article/details/1487587glib库单向链表介绍glib库里实现了一些基本的数据结构,比如单向链表,双向链表、队列、树、hash表和数组。这篇文章里我主要介绍在linux平台下使用glib库中的单向链表进行编程,以后的文章我会陆续介绍双向链表、队列和其它数据结构的用法。单

2013-03-08 12:57:07 1813

转载 glib库数组GArray介绍

come from:http://blog.csdn.net/plusboy/article/details/1491508glib库中的数组GArray类型很像C++标准容器库中的vector容器。要使用glib库中的数组中需要声明一个指向GArray类型的指针。GArray的定义如下:struct GArray{ gchar *data; guint len;};

2013-03-08 12:56:21 2870

转载 glib库队列GQueue介绍

come from:http://blog.csdn.net/plusboy/article/details/1492570队列是一种向最后添加条目,从最前删除条目的数据结构,这种数据结构在处理按顺序到达的数据是很有用。glib库提供的队列GQueue是一个双端队列, 它的实现基础是双向链表,所以它支持在队列的两端进行添加和删除,也支持很多其它的操作,比如在队列中进行插入和删除,但是我不推荐使

2013-03-08 12:55:07 6157

转载 glib库hash表GHashTable介绍 .

hash表是一种提供key-value访问的数据结构,通过指定的key值可以快速的访问到与它相关联的value值。hash表的一种典型用法就是字典,通过单词的首字母能够快速的找到单词。关于hash表的详细介绍请查阅数据结构的相关书籍,我这里只介绍glib库中hash表的基本用法。要使用一个hash表首先必须创建它,glib库里有两个函数可以用于创建hash表,分别是g_hash_table

2013-03-07 18:50:38 1108

转载 g_object_weak_ref的意义和用途

转载时注明文章出处:http://www.limodev.cn/blog作者联系方式:李先静 引用计数是控制对象生命周期常用的手法,对象初始引用计数为一,引用一次计数加一,反引用一次计数减一,直到计数降为零时,对象被销毁。GObject也实现了引用计数机制,g_object_ref函数用于引用,增加引用计数。g_object_unref函数用于反引用,减少引用计数。GObject还

2013-03-04 16:11:22 568

转载 活用 g_object_weak_ref 避免 memory leak

这是一个常见又恼人的问题 – Memory Leak 内存泄漏。常见的情况是软件用一段时间后,内存使用量肥大,在许多功能复杂的软件之中,不免会看到这类的情形。不过我们不能完全怪罪软件设计者〔虽然他们还是占很重要的因素〕,对程序开发者来说,要达成完全 Leak-free ,几乎是不可能的事,因为除了自己写的程序之外,各种 system call 都有可能造成 memory leak 的发生〔如 pa

2013-03-04 16:10:17 754 1

转载 Gstreamer实现摄像头的远程采集,udp传输,本地显示和保存为AVI文件 接收保存显示端

经过两个星期的努力终于完成 Gstreamer实现摄像头的远程采集,udp传输,本地显示和保存为AVI文件,的C语言程序,现在分享给大家,欢迎大家评论指正由于本程序存在录制时间短但保存成文件的播放长度很长的问题,希望知道的高手们指点一下解决的方法,在此先谢谢了!!!!recv-display-avifile:gst-launch  udpsrc caps=" applicati

2013-02-18 13:22:33 1985

转载 Gstreamer实现摄像头的远程采集,udp传输,本地显示和保存为AVI文件 发送端

经过两个星期的努力终于完成 Gstreamer实现摄像头的远程采集,udp传输,本地显示和保存为AVI文件,的C语言程序,现在分享给大家,欢迎大家评论指正由于本程序存在录制时间短但保存成文件的播放长度很长的问题,希望知道的高手们指点一下解决的方法,在此先谢谢了!!!!send:gst-launch-0.10 -v gstrtpbin name=rtpbin v4l2src device

2013-02-18 13:21:08 2796 2

转载 linux下webcam进行录像, gstreamer架构

author: CarlsonLee(carlsonlee.freec@hotmail.com), 本代码是freecamera的一部分,freecamera源代码存在:http://gitorious.org/freecamera#include #include #include #include #include #include #include #incl

2013-02-18 13:19:18 3045

转载 Video Rendering with 8-Bit YUV Formats

转自:http://msdn.microsoft.com/en-us/library/aa904813(v=vs.80).aspxGary Sullivan and Stephen EstropMicrosoft Digital Media DivisionApril 2002Updated August 2003Applies To:   Microsoft® Windo

2012-11-23 15:24:25 704

转载 linux图形界面基本知识(X、X11、Xfree86、Xorg、GNOME、KDE之间的关系)(转自互联网)

LINUX初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE,GNOME等之间是什么关系。常常混淆概念,本文以比较易于理解的方式来解释X,X11,XFREE,WM,KDE,GNOME等之间的关系。一、linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程序实现的。图形界面并不是linux的一部分,linux只是一个基于命令行的操作系统,

2012-11-04 14:24:12 756

转载 Vim实用技巧使用手册

(一)初级个性化配置你的vim1、vim是什么?vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员、运维)习惯的编辑器。如果你是一名职业的SE,那么一定在寻找一款出色的能够自由定制、满足灵活编辑功能的编辑器。那么答案,就是vim或者Emacs。而这一套连续的博文,就为您介绍vim编辑器。至于另一款强大的编辑器Emacs,我们会在今后的一个系列博文

2012-10-11 19:43:04 1212

转载 媒体播放器三大底层架构

自射手影音推出以来,生活中越来越多的时间开始被代码和各种Bug-Fix淹没。埋头在田里太久,常常会在一时之间忘记身处何方。所以偶尔上来透透气,顺便将一些经验和心得与大家分享。媒体播放工具,这里主要指视频播放,因为要面临庞大的兼容性和纷繁复杂的算法,从架构上看,能脱颖而出的体系屈指可数。大体来说业界主要有3大架构:MPC、MPlayer和VLC。这3大架构及其衍生品占领了90%的市场,凡是用

2012-09-28 13:56:40 909

转载 Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结

近段时间在学习 Ffmpeg、Mencoder 音视频转换,大概在 Ubuntu 10.04、Ubuntu 10.10、Ubuntu Natty 测试版上安装和使用过。重点是针对低分辨率的普通手机视频,测试的手机为 Bird V780,主要参数为,视频编码:mpeg4、h263,音频编码:faac、amrnb,容器格式:mp4、3gp,分辨率:176×144;音乐文件格式:mp3 。下面对 U

2012-09-28 13:53:10 4975

转载 ffmpeg & mplayer & vlc 手册

出于喜好,我很喜欢在 linux 下折腾一些影音相关方面的东西。以前在 windows 下折腾不起来,shell 不给力,ffmpeg 也是移植过去的,mplayer 更是杯具;现在在 linux 下,终于能尽情折腾了。工欲善其事,必先利其器,正好最近整理文件,找到了以前收藏的用户手册,拿出来和大家分享。个人觉得最全面最正确的还是 man 文档,建议大家根据手册和 man 进行操作。ffm

2012-09-28 13:43:51 1804

转载 ubuntu设置开机启动图形应用程序,替换默认图形桌面 【转】

原文:http://blog.csdn.net/liebergott/article/details/7793408一、前言无论你想要在ubuntu 12.04(11.10适用)开机启动图形程序,或者非图形程序,相信这篇文章能帮上大忙。我将根据我的需求讲解我的做法,并解释为什么这么做。完了以后,各位看官根据自己的需求不加修改或稍加修改即可适用。我这边,总得来说,需求是做一个RDP瘦客户

2012-09-27 14:19:27 832

转载 Gstreamer说明

Gstreamer说明一 Gstreamer简介是一个框架,灵活轻便。第一部分基本没有难度,只要能看懂英文。从我目前接触的感觉上看,Gstreamer确实简化了动态 库的加载,模块与模块间的合作。但是Gstreamer用得还是有点不太习惯,可能是 GLIB这种风格没有适应。gstreamer整个分为:l        core:核心库l        基础插件:

2012-09-17 16:41:13 1724

转载 创建gstreamer插件的过程

1,获取创建插件的模板gst-template#cvs -d:pserver:anoncvs@cvs.freedesktop.org/cvs/gstreamer login#cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/gstreamer co gst-template2,进入目录gst-template/gst-plu

2012-09-17 16:36:39 768

转载 怎么编写并注册Gstreamer插件

作者:敖滚环境:debian linux 2.6.8 + Gstreamer0.10 1.1.           编写插件前的准备:由于编写插件需要一定的格式,需要写一些固定 的函数和代码,所以为了方便,首先用cvs先从网上获取gstreamer插件的模板:cvs -d:pserver:anoncvs@cvs.freedesktop.org/cvs/gstreamer l

2012-09-17 16:35:42 802

转载 Gstreamer 工具使用(二)

前面兩篇我們完成了兩件很重要的事情,第一是建立了編寫插件程式的環境和測試方法,第二是替插件裝好了進出水閥 (sinkpad 和 srcpad) 的格式和屬性,格式不合的資料進不來,也出不去。接下來我們要開始放水,讓資料流進這個插件。gstreamer 在處理資料的流動有兩種主要的模式,一個是「推」,一個是「拉」。兩種模式需要實作的 routine 不同,在對資料的操作 (manipulatio

2012-09-17 16:31:32 1030

转载 Gstreamer 工具使用 (一)

拿 mp3 檔案做例子,用一個比較普遍而且廣泛應用的格式做練習有很多好處,一來沒有影像,就先省去同步的問題,也不會有 cpu / bandwidth 不夠的問題 (因為 video 的 bitrate 比 audio 高出很多);二來測試檔案滿地爬,而且橫跨多種不同參數的壓縮格式,更好的是可以互相參照的播放器也是滿地爬(一不小心就踩到的程度…搭捷運時年輕人幾乎 人手一台 player),抓蟲或對照

2012-09-17 16:30:31 1271

转载 HTML4 与 HTML5 的区别

标签描述45定义注释。45 定义文档类型。45定义超链接。45定义缩写。45不支持。定义首字母缩写。4定义地址元素。45不支持。定义 applet。4定义图像映射中的区域。45

2012-09-07 13:10:53 618

转载 HTML4和HTML5的区别[转]

HTML5是最新的HTML标准,或迟或早,所有的web程序员都会发现需要使用到这个最新的标准,而且,很多人都会感觉到,重新开发一个HTML5的网站,要比把一个网站从HTML4迁移到HTML5上容易的多,这是因为这两个版本之间有很大不同之处。事实上,HTML5并没有对HTML4做什么重大的修改,它们很多东西都是相似的。  可是,其中有一些很重要的区别你需要知道。下面列出的就是一些HT

2012-09-07 11:25:10 1653

转载 在 ubuntu 平台上 编译 gstreamer 0.10

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://volvet.blogbus.com/logs/80701701.htmlgstreamer 是一个开源的多媒体应用框架, 学习了directshow的设计思想,  实现了面向对象/可灵活扩展的架构设计。  目前最新的版本是 0.10.30。 下面介绍下 如何在 ubuntu下 编译gstreamer 0

2012-09-06 17:15:05 881

转载 初探GStreamer .

GStreamer,江湖上人称“PIPELINE式的多媒体处理框架”,在该媒体处理框架将多媒体数据流处理划分成各种能够自由组合重用的节点,然后将 节点组合成串行处理的媒体处理链。看看下面的命令:    gst-launch-0.10 filesrc location="concept.mp3" ! decodebin ! alsasink    UNIX的粉丝们是不是异常眼熟呢?没

2012-09-05 16:40:24 860

转载 linux 内核 相关

主存中顶部分配给ROM BIOS(256KB-2MB),640KB-1MB的空间留作其他用途.包括显示缓冲区,ROM BIOS映射区...  BIOS启动过程:从内存的oxFFFFFFF0开始,这个地址有一条JMP命令跳到Flash ROM中的BIOS程序中执行,将其中的64KB代码复制到内存oxF0000-ox100000作为ROM BIOS映射区,并从这里开始进入实模式工作.  CMO

2012-09-05 14:24:19 534

转载 嵌入式程序员应该知道的十个问题[转]

这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60

2012-09-05 14:10:23 484

转载 自动生成Makefile的全过程详解

automake/autoconf入门作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makef

2012-09-05 14:08:50 394

转载 嵌入式系统开发学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基

2012-09-05 14:07:31 510

空空如也

空空如也

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

TA关注的人

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