![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
abcpanpeng
爱好:踢球与编程
展开
-
Linux图形界面中客户端、服务器、窗口管理器之间的关系
很多LINUX初学者在学习linux图形方面的知识时会遇到一些概念,如:X、X11、Xfree86、WM、 KDE、GNOME、QT、QT/E、Qtopia、DirectFB、Framebuffer、显卡加速驱动等等。理解它们之间是什么关系,对我们学习来说是非常重要的。写这篇文章的目的,就是想让大家明晰这些概念及它们之间的关系。(部分内容引用网络上的一些描述比较清晰的内容)一、Linux操作系统和图形的关系 linux本身没有图像界面,linux现在的图像界面的实现只是linux下的应用程序实现的。图像界面转载 2011-02-27 09:14:00 · 631 阅读 · 0 评论 -
Linux下的OSS音频接口编程例子-sndkit
<br />采用OSS进行音频编程时应当遵循的一般性框架:(1)打开音频设备;(2)设置采样格式(即量化位数);(3)设置声道数(单声道或者立体声);(4)设置采样率(即采样速度);(5)从设备读入数据或者向设备写入数据;(6)关闭音频设备;上述过程中,第(6)可选,因为在进程正常或非正常退出时都会关闭它所打开的文件描述字,这样也就把音频设备的资源释放了。但是,除此之外的五个步骤是不能缺少的,并且顺序也不能颠倒(OSS编程指南对此的说明是:在指定声道数之前设置采样率不能在所有的音频硬件上工作——如果在将声卡转载 2011-05-23 17:18:00 · 2184 阅读 · 0 评论 -
pthread 常用函数
<br />int pthread_create(<br /> pthread_t *tid,<br /> const pthread_attr_t *attr,<br /> void*(*start_routine)(void*),<br /> void *arg<br /> );<br />//参数tid 用于返回新创建线程的线程号;<br />//start_ro转载 2011-05-23 17:20:00 · 594 阅读 · 0 评论 -
Linux系统下的多线程编程全面入门
<br />引言<br /> 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期, solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现 在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。<br /> 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。<br /转载 2011-05-23 17:22:00 · 490 阅读 · 0 评论 -
Linux音频编程指南
<br />虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。<br />一、数字音频<br />音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。<br />数 字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始转载 2011-05-23 17:26:00 · 553 阅读 · 0 评论 -
Linux音频编程指南
<br />虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。<br />一、数字音频<br />音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。<br />数 字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始转载 2011-05-23 17:26:00 · 547 阅读 · 0 评论 -
如何利用Video4Linux获取摄像头数据
<br />Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放。<br />1. 摄像头的安装<br />在 Linux下常用的摄像头驱动是spca5xx,这是一个通用驱动,读者可以在以下网站下到这个驱动 http://mxhaard.free.fr/download.html。这个网站还给出了这款驱动支持的摄像头的种类。另外,ov511芯片直接就支持Linux,使用者款芯片的摄像头有网眼V2000转载 2011-05-23 17:29:00 · 1185 阅读 · 0 评论 -
linux下视频采集服务器(UDP传输、多线程模式)
<br />linux下多线程网络编程,实现arm9视频采集和网络发送jpeg数据,使用udp协议,自己写的,搞了好几天!linux下的多线程比较复杂易出错。<br />linux network under the multi-threaded programming, video capture and realize ARM9 send jpeg data network, using udp protocol, wrote it myself, engaged in for several days转载 2011-05-23 17:31:00 · 2554 阅读 · 0 评论 -
linux下获取当前目录
<br />1. 取得当前工作目录(相当于windows下的GetCurrentDirectory):<br /> #include "stdio.h"<br /> #include "stdlib.h"<br /> #include "string.h"<br /> #include "unistd.h"<br /><br /> int main()<br /> {<br /> char buf[200];<br /><br /> if(getcwd(buf, sizeof(buf)-转载 2011-05-23 17:33:00 · 5126 阅读 · 0 评论 -
Linux下的通用线程池创建
<br />本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。<br />为什么需要线程池<br />目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。<br转载 2011-05-23 17:35:00 · 684 阅读 · 0 评论 -
Linux系统下修改IP、DNS和路由配置
<br />在Linux操作系统下修改IP、DNS和路由配置 <br />ifconfig eth0 新ip <br /> 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip<br /> 一、修改IP地址<br /> [aeolus@db1 network-scripts]$ vi ifcfg-eth0<br /> DEVICE=eth0<br /> ONBOOT=yes<br /> BOOTPROTO=static<br /> I转载 2011-05-23 17:36:00 · 770 阅读 · 0 评论 -
Linux程序应用开发环境和工具经验谈
<br />【IT168 编程开发】本文以轻松的笔调介绍了自己在Linux环境下进行程序开发的体会和经验,主要是对Linux下的开发工具和开发环境做了一个生动、明快的描述。<br /><br /> linux开发环境之最:<br /><br /> 最有用开发语言: C/C++,Perl,Pascal.<br /><br /> 最流行的工具集: gtk/gdk,qt,xforms<br /><br /> 最好的可视化开发工具: glade,designer,kdeveloper<br /><br />转载 2011-05-23 17:41:00 · 704 阅读 · 0 评论 -
从windows到linux -- 编程篇 -- cygwin,在win中开发linux
<br />很多用windows的朋友不习惯于用linux的开发环境。虽然很乐意尝试一下,但是往往怕linux系统打乱了自己的正常生活:1〉装linux系统把windows系统给搞坏了,导致自己无法正常生活;2>linux开发上手太难,写出第一个helloworld不亚于java的难度,环境配置摸不着头脑。 对于此,我的看法是:路不管平还是陡,终归你要走的,如果你愿意投入到linux开发的社群中来,不会安装linux系统,不会配置工作环境是不能想象的。(事实上,确实要了解很多东西的原理,不然很难排错:诸如,转载 2011-05-23 18:08:00 · 1053 阅读 · 0 评论 -
ALSA 编程:入门篇
<br />1、GNU/Linux 系统下三大主流声卡驱动程序集 <br />Linux 有三个主流的声卡驱动程序集:OSS/Lite(也称为OSS/Free)、OSS/Full <br />(商业软件)、ALSA(自由软件)。 <br /><br />OSS/Lite 是现在linux内核中自带的声卡驱动程序集,最初由 Hannu Savolainen <br />开发。后来 Hannu 跑去开发 Open Sound System(也就是上面所说的OSS/Full)。 <br />由于 Hannu 的“转载 2011-05-23 15:36:00 · 2886 阅读 · 0 评论 -
使用ALSA编写自己的音频程序
<br />作者:北京中科红旗软件技术有限公司 孔伟 <br />Alsa是Linux高级音频接口。面对众多的音频设备,Alsa为Linux音频开发人员提供了一套标准的访问机制,使得音频开发变得十分容易。不信?下面我们就利用它编写一个简单的录音/播音程序,不过这需要你有一定的计算机语言基础。<br />一个典型的音频程序应该具有以下结构:<br />打开音频设备<br />为设备设置读写参数<br />向音频设备读/写音频数据<br />关闭设备<br />Alsa库为我们实现这些操作提供了丰富的接口。<b转载 2011-05-23 15:37:00 · 2303 阅读 · 0 评论 -
漫谈Linux下的音频问题
<br />现今的互联网,比较Linux和Windows的战争贴基本都成月经贴了。一群群激进的用户不断轰轰烈烈攻击对方,但是很少有能拿出新鲜干货的,基本上双方理由我现在都能背得了。在攻击Linux的阵营中,一条很重要的理由就是:硬件驱动不完善。<br />今天要谈的声卡问题,就是属于“驱动”这类问题。我在我工作用笔记本,家用笔记本,工作用服务器两台,上面都装过Ubuntu,无一例外遇到声音的问题。去ubuntu.org看看,抱怨声卡问题的呐喊不绝于耳,无论是菜鸟,中鸟还是老鸟。当然不光是ubuntu,deb转载 2011-05-23 15:51:00 · 875 阅读 · 0 评论 -
cygwin使用心得
cygwin使用心得<br /><br />1.在cygwin里访问Windows盘<br />cd /cygdrive/c<br />cd c:<br /><br />2.整合cygwin命令到Windows中<br />假设cygwin安装在d:/develop/cygwin,则将d:/develop/cygwin/bin添加到系统变量PATH中(最好加在windows前面,这样的话,有些相同的命令的话,是先执行cygwin的命令,而不是windows命令,比如find)<br /><br />就可以直转载 2011-05-23 21:55:00 · 1048 阅读 · 0 评论 -
ARM2410 OSS播放WAV文件与音频采集
<br />ARM2410 OSS播放WAV文件与音频采集,完整的源代码、说明文件、编译方法等请到论坛下载。下载地址:http://bbs.rosoo.net/thread-739-1-1.html<br />1. how to make?<br />gcc sndtools.c record.c -o test<br />2. about OpenSnd<br />Sound driver name is different according to you sound card & OS.<br />a转载 2011-05-23 17:12:00 · 1080 阅读 · 0 评论 -
用ALSA驱动声卡流程详解
<br />提要:目前大多数发行版都已经支持主流声卡,声卡的驱动无非是用ALSA;本文主要讲述声卡驱动的流程;目的是帮助遇到声卡的驱动问题的弟兄来弄清楚解决问题的流程;只要流程明白了,解决问题是没有太大的困难;<br />一、什么是ALSA ;<br />Advanced Linux Sound Architecture 的简称为 ALSA ,译成中文的意思是 Linux 高级声音体系(这是我直译的,可能译的不对);一谈到体系就有点范围就太大了,所以ALSA不仅仅是包括对声卡的支持和驱动;<br />ALS转载 2011-05-23 17:06:00 · 859 阅读 · 0 评论 -
编写自定义Linux内核模块
<br />1.开始一个简单的内核模块<br /> <br />让我们也从HelloWorld开始吧。从这里我们了解一个内核模块的基本框架,还有如何生成,如何加载。<br />废话少说,Coding吧://////////hello.c #include <linux/config.h> #include <linux/module.h> #include <linux/kernel.h> /* printk()在这个文件里 */ static int init_module() { print转载 2011-05-23 16:59:00 · 699 阅读 · 0 评论 -
Linux必学的60个命令
<br />Linux必学的60个命令(1)-安装与登陆<br />Linux必学的60个命令<br />Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在<br />Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解 Linux<br />系统。<br />不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者转载 2011-02-27 09:37:00 · 1676 阅读 · 0 评论 -
VirtualBox中实现与主机文件的共享
<br />来源: 编辑: 时间:2009-07-28<br />VirtualBox是一款开源的虚拟机软件,可以在Linux/Mac和Windows主机中运行。支持在虚拟机中安装全系列Windows操作系统(如Win2000、XP、Vista、Windosw 7)。在VirtualBox虚拟机中安装操作系统并不复杂,如同在真实电脑中一样。对于多数新手来说,使用VirtualBox最大的麻烦就是共享相关问题,今天我们就来解决虚拟XP系统与真实主机之间的文件共享问题,下面以最新版本的VirtualBox 3.转载 2011-02-27 09:38:00 · 802 阅读 · 0 评论 -
asp jsp 判断操作系统类型 浏览器版本
<br /><br />//获取客户端操作系统类型 <br />function detectOS() <br />{ <br /> var sUserAgent = navigator.userAgent; <br /> var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");转载 2011-02-28 15:27:00 · 3431 阅读 · 0 评论 -
Linux精简指南
<br />一、概述<br />精简Linux系统的主要目的是将Linux系统使用固态盘等小容量flash存储设备来替代PC机上面的硬盘。解约成本、减少体积、提高速度以及延长使用寿命和稳定性。<br />精简Linux的主要方法就是通过更换Linux的系统环境进行的。主要的过程是使用内存文件系统替换硬盘文件系统,使用busybox替换Linux的init进程、常用命令和shell,使用Framebuffer替换X11库。<br />二、准备工作<br />在精简之前,需要安装引导程序,用来引导我们精简之后的转载 2011-03-05 10:04:00 · 4374 阅读 · 0 评论 -
各种进程创建方式比较总结(MacOS, Win32, Qt)
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie讨论新闻组及文件 由于进程创建是非常基础,很重要的工作,由此导致的恶果就是每个系统自己都喜欢封装一套,以显示自己对其有原生的,较好的支持,但是,说实话,有的时候, 那方式,实在是相当别扭,这里,我讲我了解的平台/系统下的进程创建方式统一的梳理总结一下,也顺面可以比较一下各个系统的API封装情况,窥一斑而见全 豹嘛。这里很容易加入主观因素,也没有太多客观事实可以作为唯一的评定标准,那么转载 2011-03-08 11:43:00 · 1514 阅读 · 1 评论 -
管道应用实例
<br />管道具有以下特点:<br />(1)半双工。数据只能在一个方向上流动。<br />(2)只能在具有公共祖先的进程间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父子进程间就可应用该管道。<br />(3)单独构成一种独立的文件系统。管道对于管道两端的进程而言就是一个文件,但它不是变通的文件,而是单独构成一种文件系统,并且只存在于内存中。<br />(4)数据从管道的一端写入,但从另一端读出。一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,转载 2011-05-23 15:53:00 · 1131 阅读 · 0 评论 -
Linux ALSA声卡介绍及使用
<br />一. 介绍<br /><br /> ALSA 标准是一个先进的linux声音体系。它包含内核驱动集合,API库和工具对Linux声音进行支持。ALSA 包含一系列内核驱动对不同的声卡进行支持,还提供了libasound的API库。用这些进行写程序不需要打开设备等操作,所以编程人员在写程序的时候不 会被底层的东西困扰。与此相反OSS/Free 驱动在内核层次调用,需要指定设备名和调用ioctl。为提供向后兼容, ALSA 提供内核模块模仿 OSS/Free 驱动,所以大多数的程序不需要改转载 2011-05-23 15:55:00 · 1565 阅读 · 0 评论 -
V4L2视频采集接口使用说明
<br />V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video/dvb/FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。<br /><br />V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函数来实现。<br /> 1.打开视频设备<br />在V4L2中,视频设备被看做一个转载 2011-05-23 15:57:00 · 853 阅读 · 0 评论 -
Linux V4L2 摄像头视频采集
<br />一,什么是 video4linux<br />Video4linux(简称V4L),是linux中关于视频设备的内核驱动,现在已有Video4linux2,还未加入linux内核,使用需自己 下载补丁。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/videoN下,N可能为0,1,2,3... 一般0.<br />另,推荐一个用于播放从摄像头采集到的raw数据的播放器RawPlayer,只需要把采集的数据保存到文件***.yuv就OK了。<br />二,转载 2011-05-23 15:58:00 · 1508 阅读 · 0 评论 -
Linux 僵尸进程产生及如何避免
<br />在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结 束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进 程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程。<br /> 僵尸进程是指的父进程已经退出,而该进程dead之后没有进转载 2011-05-23 16:03:00 · 787 阅读 · 0 评论 -
线程模型
来源:http://blog.csdn.net/mprc_jhq/archive/2007/03/07/1522972.aspx1. 线程管理线程和函数调用很类似:都与主程序(主线程)共享同样的存储空间;变量的使用范围也一样---线程和函数都只能调用自己函数体内定义的变量和全局变量;差别是线程的执行和调用线程的执行是并行(异步)的,而函数和调用函数的执行是串行的,所以要注意同步和互斥;线程在传递参数和结果返回上有自己的接口。 线程函数,如果成功都返回0,如果不成功,都会返回非零的错误码。他们不设置errno转载 2011-05-23 16:04:00 · 542 阅读 · 0 评论 -
Linux下的线程技术
<br />1 引言<br />线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix 也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括 Windows/NT,当然,也包括Linux。<br />为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。<br />使转载 2011-05-23 16:05:00 · 644 阅读 · 0 评论 -
Linux音频编程-OSS编程-alsa编程
<br />虽说alsa的API才是Linux音频编程的未来,但是alsa和OSS相兼容的接口正是我们编程时用到最多的。。<br />特此献上。。<br /><br />OSS(Open Sound System)是 unix 平台上一个统一的音频接口, 即只要音频处理应用程序按照OSS的API来编写,那么在移植到另外一个平台时,只需要重新编译即可。<br />OSS(Open Sound System)是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供一个自己专有的API,用来处理音频。这转载 2011-05-23 16:47:00 · 1385 阅读 · 0 评论 -
理解和使用Alsa的配置文件
<br />最近在做音频相关的驱动,使用到了Alsa。过程中涉及到一些硬件的设置和测试,需要了解Alsa的配置文件的写法,稍微学习了一下,这里把自己的一些简单理解记录如下。1 相关说明1.1 网站资源Alsa项目的官方网址:http://www.alsa-project.org/Alsa LIB API Reference:http://www.alsa-project.org/alsa-doc/alsa-lib/配置文件的语法:http://www.alsa-project.org/alsa-doc转载 2011-05-23 16:48:00 · 833 阅读 · 0 评论 -
Linux如何在系统启动时自动加载模块
<br />下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的:<br /> rc.sysinit中有这样的一段代码:<br /> # Load other user-defined modules<br /> for file in /etc/sysconfig/modules/*.modules ; do<br /> [ -x $file ] && $file<br /> done<br /> # Load modules (f转载 2011-05-23 16:51:00 · 534 阅读 · 0 评论 -
linux程序开机自动启动方法
<br />1)redhat的启动方式和执行次序是: <br /> 加载内核 <br /> 执行init程序 <br /> /etc/rc.d/rc.sysinit # 由init执行的第一个脚本 <br /> /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 <br /> /etc/rc.d/rc.local #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中) <br />转载 2011-05-23 16:54:00 · 513 阅读 · 0 评论 -
Linux下应用程序开发:用QT创建新风格
1.Qt的风格a) Qt简介Qt是 一个跨平台的C++图形用户界面应用程序开发库,使用Qt可以开发出高质量的图形用户接口,它是完全面向对象的、易于扩展且允许真正的组件编程。Qt获得 了很大的成功,特别是它的信号-槽机制是非常值得研究的通信机制,它也是Linux发行版标准组件KDE(K Desktop Enviroment)的基础。b) 风格机制Qt的风格机制实现了不同平台上的图形用户接转载 2012-03-23 10:50:51 · 1836 阅读 · 0 评论