Linux下音頻編程

其實 Linux 下的聲音裝置編程比大多數人想象的要簡單得多。一般說來,我們常用的聲音裝置是內部擴音器和音效卡,它們都對應 /dev 目錄下的一個或多個裝置檔案,我們象開啟普通檔案一樣開啟它們,用 ioctl()函數設定一些參數,然後對這些開啟的特殊檔案進寫操作。   由於這些檔案不是普通的檔案,所以我們不能用 ANSI C(標準C)的 fopen、fclose 等來操作檔案,而應該使用系統檔案 I/O 處理函數(open、read、write、lseek 和

Linux kernel 學習筆記(1) –分段分頁保護機制

使用80x86處理器進行定址時牽涉到三種不同的地址,其關係如下所示 邏輯地址------------------->線性地址-------------------------->物理地址                 (分段)                            

Linux 下共用記憶體建立時需要注意的問題

在linux下使用共用記憶體時,照著書上或者網上的方法,使用shmat函數時,老是會碰到一個問題提示: shmat errorpermission denied 每次需要sudo一下才能夠正常運行,並且如果普通使用者使用ipcs查看的話,是看不見已經分配的共用記憶體的,需要在root使用者下才能看見, 最開始以為是shmat需要root使用者的許可權,後來發現不是這樣。 造成這個問題的成因是在使用shget的時候,沒有賦於開闢的共用記憶體對應的讀寫權限。 shget函數原型如下int

Linux普通使用者使用libusb訪問usb裝置的方法

 讓GUEST識別USB裝置1、最簡單的辦法如下:$ sudo gedit /etc/fstab在末尾加上# the USB group# 對所有使用者開放USB裝置的讀寫權限 none /proc/bus/usb usbfs devmode=666 0 0然後就普通使用者就可以通過libusb使用USB裝置了。 2、但是把USB裝置的讀寫權限開放給所有使用者的方式在一些情況下不太安全,更為穩妥的做法是:1. 增加使用者組usbfs$ sudo groupadd usbfs2.

linux下編譯boost

文章目錄 擷取boost庫編譯安裝 原文出處:http://blog.ehomy.net/archives/148 工作平台:Fedora 12擷取boost庫Linux下官方提供了兩個壓縮版本:boost_1_43_0.tar.bz2boost_1_43_0.tar.gz找到其中一個Unix/Linux包的直接,然後輸入下列命令sudo wget

Linux Tomcat安裝

   為了學習java,需要一個伺服器,因此決定用比較流行的tomcat。根據網上對安裝tomcat的介紹,自己進行了安裝,現在已經成功了,現在把安裝的過程進行記錄,也供大家學習參考。   一、從官方網站上下載tomcat軟體包。    http://tomcat.apache.org/   點擊左側的 download的一個版本,我選擇的是 tomcat6.x,你可以根據自己的實際情況進行選擇安裝,點擊超串連,選擇 Binary Distributions 下的tar.gz

關於linux平台下用gdb調試so動態庫

在linux平台下的程式寫了很多,但是調試感覺不是很熟悉。這幾天專門去學習了一把,搞了一下so的調試。首先給出兩個源檔案,即調用程式和被調用動態庫程式的原始碼。調用程式原始碼:main.cpp#include <stdio.h>#include <dlfcn.h>#include <link.h>#include <stdlib.h>int main(){    void *dlh=NULL;    int (*printmsg)(char

如何用Linux做Proxy 伺服器

如何用Linux做Proxy 伺服器(最簡單的做法,這裡以RedHat9.0為例)需要配置:CPU: Pentium 133 Mhz記憶體: 32 MB硬碟:640 MB網卡:2塊1.安裝Linux,選擇最小安裝,把組件的勾全部去掉,除了配置一下IP,其它全部預設  安裝好後進入提示符2.首先配置網卡,如果用圖形介面配置完成後檢查一下IP是否正確  ifconfig eth0   #檢查網卡0的狀態,如果想更改設定檔(命令:vi

如何正確的關閉socket (linux)

曾經遇到過好幾個問題,都是與用戶端或者服務端沒有完整關閉socket相關的。在代碼裡,隨處可見這類問題,只是隱藏較深,不容易暴露bug而已。一個半關閉狀態的socket,其發起關閉的一方狀態是FIN_WAIT2, 另一方是WAIT_CLOSE網上有幾篇言簡意賅的文章,拿來借鑒。參考文檔連結:關於“遠端已經關閉串連,為何socket send()還是返回成功?”的討論 “Socket.Send() succeeds, but remote end point closed the

Linux init.d

轉載自:http://blog.chinaunix.net/space.php?uid=20422917&do=blog&id=1682874輔助環境:rh9,fc7  另:本文如無特殊解釋,init.d指的就是/etc/rc.d/init.d目錄。轉載  本文包括3部分內容  1、 Linux的引導過程  2、 運行層級  3、 /etc/rc.d/

Linux主機訪問區域網路內的Windows主機的共用資料夾

  系統:fedora 11                                      192.168.1.2               windows XP  SP3                        192.168.1.101    windows主機有一共用資料夾,並允許guest訪問。    fedora主機運行以下命令掛載共用資料夾即可:#mount -t cifs //192.168.1.2/sharefolder /mnt -o

linux下遞迴刪除檔案夾,簡單實現rm的功能

/*******************myrm.c 閫掑綊鐨勫垹闄や竴涓洰褰曘€?*鏉ㄥ環鍚?2009.4.8*淇敼錛?*******************/#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<dirent.h>#include<errno.h>#include<sys/stat.h>#include<string.h>#

linux vi 尋找

使用vi編輯器編輯長檔案時,常常是頭昏眼花,也找不到需要更改的內容。這時,使用尋找功能尤為重要。方法如下:1、命令模式下輸入“/字串”,例如“/Section 3”。2、如果尋找下一個,按“n”即可。要自當前游標位置向上搜尋,請使用以下命令:/pattern Enter其中,pattern表示要搜尋的特定字元序列。要自當前游標位置向下搜尋,請使用以下命令:?pattern Enter按下 Enter鍵後,vi 將搜尋指定的pattern,並將游標定位在

在Linux單機上運行Hadoop-0.19.0執行個體

Hadoop-0.19.0的代碼可以到Apache上下載,連結為http://archive.apache.org/dist/hadoop/core/hadoop-0.19.0/,我使用的Linux機器是RHEL

Win7下硬碟安裝 Redhat Linux 6.0 ES

                                     Win7下硬碟安裝 Redhat Linux 6.0 ES本文 PDF版本可到如下兩個地址下載:CSDN:http://download.csdn.net/source/3575067百度文庫:http://wenku.baidu.com/view/44c2811cb7360b4c2e3f643f.html豆丁:http://www.docin.com/p-288017405.html1.   硬碟分區配置:C盤:Win7

linux clock_gettime函數詳解

long sys_clock_gettime (clockid_t which_clock, struct timespec *tp);which_clock參數解釋CLOCK_REALTIME:系統即時時間,隨系統即時時間改變而改變,即從UTC1970-1-1

在OpenSUSE 12.1 上編譯Dom0(linux kernel 3.2.1) + Xen-4.1.2 + Virt-manager 0.9.0

經驗總結:1. 不要使用獨立顯卡,因為驅動不支援pv_ops kernel構架2. 不要使用64位的發行版(ubuntu除外)步驟:1. 安裝32bit OpenSUSE 12.1請安裝linux kernel development 和python 相關dependency package。。。。。。2. 準備zypper install dev86zypper install ncurses-devel bridge-utils3.

Linux kernel核心中的atoi,itoa等函數

 http://hi.baidu.com/serial_story/blog/item/fcec44ec707dd5dd2e2e21ed.html 【整理】Linux核心中的atoi,itoa等函數對於普通應用程式,可以通過包含標頭檔stdlib.h和stdio.h,string.h等,然後調用需要的itoa(),atoi()等函數,但是對於Linux核心來說,無法使用那些C庫中的函數。對此Linux核心裡有了相應的實現:對於atoi()用simple_strtol()

Libtool建立和使用linux下動態庫

 檔案fun.c,fun.h,hello.c,hello.h,main.c動態庫函數都在fun.c和hello.c裡面fun.c:int add(int a, int b){ return a+b;}fun.h:#ifndef _FUN_H_11#define _FUN_H_11int add(int a, int b);#endif----------------------------hello.c:#i nclude <stdio.h>void output(char *

Linux核心模組自動載入機制

文章目錄 思考

總頁數: 3772 1 .... 352 353 354 355 356 .... 3772 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。