Linux程序库的构建和使用
在本文里,我们将探索与Linux的程序库有关的知识。首先,我们考察静态库的基本知识,并介绍如何使用ar命令来建立静态库。然后,我们将学习共享库方面的知识,并讲述可以动态加载的共享库的有关内容。 一、什么是程序库 通俗的讲,一个程序库就是目标程序文件的一个集合。如果某些目标文件提供了解决一个特定问题的所需功能,我们就可以把这些目标文件归并为一个程序库,从而让应用开发者更易于访问这些目标文件,省得到处去找。 对于静态库,我们可以用实用程序ar来建立。当应用程序开发人员利用程序库进行程序的编译和连接时,程序库...
如何实现Linux操作系统最小化
减少Linux的系统占用,为应用程序保留更多的资源,减少设备的硬件成本。“你能做到多小?”这个问题通常在嵌入式工程师开始他们的项目时问到。大多数时候,问这个问题的人是想减少RAM和Flash资源,减少设备的单位成本或能源需求。 因为Linux最初是为桌面或服务器系统设计的,默认情况下,它没有为尺寸大小进行过优化,无论如何,Linux正被越来越多地用在嵌入式设备中,要让Linux变小不是一件容易的事情,这里有几个减少系统占用内存的方法。 许多工程师是从减少内核大小开始的,这里有个容易着手的方法,本文将详细...
在linux操作系统下建立虚拟内存
虚拟内存就是将硬盘规划出一个区间,让内存的数据可以经由硬盘来读取 在linux 下就是建立swap file , 基本步骤:先建立swap这个装置或是档案后,将他格式化为swap格式,最后将他挂载到系统上即可 方法一: 建立虚拟内存装置 直接再加一颗硬盘,并且将其中的某个分区规划为swap 的文件系统 1。(1) fdisk /dev/hd[a-d] (2) 将该分区的ID改为82 ,其中82为swap的磁盘档案格式代号 2。mkswap /dev/hd[a-d][1-16] 将上面1中的分区格式化为s...
即使重装Linux也不用重新配置的方法
我经常重装Linux,不是因为有问题,而是每当有新版本的Linux出现的时候,我都忍不住尝试一下。 但是每次重装前,原来保存在系统内的配置,文件,软件等等的东东,又要做备份,又要打包,实在纠结。咋办?其实很简单,我们在用windows的时候,都懂得将重要的文件,软件保存在C盘以外的Driver,因为重装的时候,只需改动C盘。 Linux也一样,而且比Windows更智能,windows重装以后,所有东西都要重新配置吧,包括如果你有安装漂亮的主题,桌面。还有如字体等等。 Linux就不需要了。我每次重新安...
我为何选择mandriva,兼谈ubuntu印象
在2001年前后,接触过linux, 就是四个发行版:红旗、蓝点、redhat、mandrak. 知道redhat是老祖宗,其他3个是基于它的。 当时放弃linux的原因是:硬件支持不好(组装台式机,配件都是杂牌),安装软件不便。 我喜欢“大而全”,所以红旗、蓝点除了中文支持好点以外,基本上属于“删节本”,redhat默认的gnome,和我的习惯相差太远----当时喜欢用windows的习惯来要求linux, 于是kde优先的mandrak给我留下了好印象。 近来又用起linux,是由于买了笔记本,想来...
linux下chm阅读器的安装与使用
Fedora Core 下的chm阅读器有好几个,xchm、chmsee、kchmviewer、gnochm、chmreader、fbreader。 1、gnochm gnochm功能和界面都跟windows下的chm阅读器基本一样,没有乱码。目前最新的版本是0.9.11 。前几天直接yum源安装的还是0.9.9版本,好像有点问题用不了。只好去官网下载最新的版本。 要下载的文件有两个,gnochm和pychm ,pychm有个依赖包compat-python24,可以直接在yum上安装。 yum ins...
在ubuntu中获得一个命令的源代码
在ubuntu中经常会需要查看一个命令的源代码,比如我想知道ifconfig这条命令是如何实现的,这时我就需要下载ifconfig的源代码,这在ubuntu中是非常方便的。 test@test-desktop:~$ type ifconfig ifconfig is /sbin/ifconfig test@test-desktop:~$ sudo dpkg -S /sbin/ifconfig net-tools: /sbin/ifconfig test@test-desktop:~$ sudo apt-...
ubuntu中trackerd的进程狂耗资源解决办法
trackerd的进程狂耗资源。在网上找了一下,才知道是个BUG,就把它卸载了。但是这个进程不仅仅耗CPU还狂耗内存和硬盘的容量(这都别人说 的,)tracker的东东都在 ~/.cache/tracker下。(1.5G很大)在 ~/.local/share/trcaker下也有,只一点点。(~是用户主目录,)(这是真的) ~/.config/tracker/tracker.cfg 这个文件里去改几个true为false,或是把那些大的数字改为1024就可以了。...
ubuntu下luit的警告解决办法
luit对于终端下的编码转换很有用,在我的sssh脚本里面就是用的这个转换编码,很方便. 但是,在ubuntu中luit执行的时候,却会出现如下错误(其实只是个警告而已,但总归看着不爽): Warning: couldn’t find charset data for locale *****; using ISO 8859-1 其实这个警告的原因是ubuntu把系统文件 locale.alias 挪了个位置而导致的,可能没有对应修改luit的代码,导致luit找不到那文件了. 解决办法就是做个链接到原...
Ubuntu 8.04 中编译RedBoot
本来一直在学习u-boot,感觉它足够强大和灵活,而且网上有很多资料,但我还只是掌握了皮毛,还不能够随意的应用。 公司里的板子主要是使用Redboot和Vxworks boot,本来是有些头痛的,因为这两个boot在网上的资料不多,而且公司的Flash还是SPI接口的,第一次接触,最基本的烧录方法都还没搞定,不过过程还是比想象的顺利,最后编译成功,主要是同事的一路指导,还有就是网上已经有了现成配置好的redboot。 下面是我实际操作中的步骤: 1、下载redboot-ap61.tar.gz,这个压缩包...
RHEL5中不用关闭SELinux而成功启动Samba
RHEL5中的samba服务器启动后,能看到共享目录,但是不能访问共享目录,告知权限不够。此时可以通过如下命令: tail /var/log/message看到如此提示: '/home/lyy' does not exist or permission denied when connecting to [lyy] Error was 权限不够 SELinux is preventing the samba daemon from reading users home directories.For c...
为加快速度关闭Linux下不必要的系统服务
Linux系统在/etc/rc.d/init.d下定义了很多的系统服务向用户提供,默认情况下这些服务大多都是随机启动,但是很多服务是一般不需要的,或者是你没有进行配置就根本不起作用的,但由于设置成随机启动,在内核加载进内存开始运行后会花时间启动这些服务相应的进程从而大大降低开机速度,所以你可以通过关闭这些服务从而加快开机速度。 不同的GNU linux版本的系统服务大都一样,但是也会有一些小区别,一般都提供50个左右的服务。 以redhat9为例,下面的系统服务一般情况下大都可以关闭: Cron(看情况...