在计算机科学中,库(library)是用于开发软件的子程序集合。库和可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。linux中库的分类相比glibc,libstdc++虽然提供了c++程序的标准库,但它并不与内核打交道。readelf就是linux下展示elf文件内容的命令。
在计算机科学中,库(library)是用于开发软件的子程序集合。库和可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。linux中库的分类相比glibc,libstdc++虽然提供了c++程序的标准库,但它并不与内核打交道。readelf就是linux下展示elf文件内容的命令。
1、在配置文件/etc/ld.so.conf中指定动态库搜索路径配置文件/etc/ld.so.conf中指定的动态库搜索路径3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;4.默认的动态库搜索路径/lib;5.默认的动态库搜索路径/usr/lib。
界面和windows版本差别不大~下载之后用ubuntu软件中心打开,点安装就行了~(一般来说都是自动用软件中心打开ded包的)install由于桌面环境不一样,我们编译好的alsa-lib不一定所有机器都能用,如果不行请参考上面的方法去官网下载源码手动安装。
系统面临和Window一样的问题,如何控制动态库的多个版本问题。这个软连接会指向目录中主版本号相同、次版本号和发布版本号最新的共享库。编译器会根据当前环境,在系统中的相关路径(往往由-L参数指定)查找最新版本的XXX库。ldconfig是一个动态链接库管理命令为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig可以查看动态库的信息,比如依赖的库,本身的soname。
ALSA接口:通过/dev/snd下的设备文件与用户空间进行交互,对于声音数据,它提供了两种交互方式,一种是基于文件IO的读写方式,播放时向里面写数据,录音时从里面读数据。PXA300在硬件上对AC97有支持,它提供了FIFO,所以音频数据可以通过DMA方式读写。