文章分类 -  Linux操作系统

摘要:当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphab 阅读全文
posted @ 2020-04-09 14:44 general001 阅读(345) 评论(0) 推荐(0)
摘要:Linux C 函数参考(日期时间) 1.1 概述 世界标准时间(Coordinated Universal Time,UTC),也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。世界各地时间也世界标准时间为基准划分为不同的时区,例如,中国的北京时间与UTC的时差 阅读全文
posted @ 2019-04-29 10:49 general001
摘要:在linux下,为了查看文件,经常使用的命令是ls -al,如下所示:gwwu@hz-dev2.wgw.com:/usr/sbin>ls -altotal 33788dr-xr-xr-x. 2 root root 12288 Nov 2 2012 .drwxr-xr-x. 13 root root 阅读全文
posted @ 2017-04-26 20:06 general001 阅读(473) 评论(0) 推荐(0)
摘要:1.使用include关键字可以把别的Makefile包含进来,例如:include $(dvr_rdk_PATH)/makerules/includes_a8.mk2.Makefile中的自动化变量$?$@(表示目前规则中所有的目标的集合-目标集)$ 为符合模式的文件指定搜索目录2、vpath 清... 阅读全文
posted @ 2015-04-25 23:47 general001 阅读(139) 评论(0) 推荐(0)
摘要:1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块:(1)用户空间:用户空间中又包含了,用户的应用程序,C库(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码2.Linux体系结构要分成用户空... 阅读全文
posted @ 2015-03-25 18:43 general001 阅读(430) 评论(0) 推荐(0)
摘要:在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。首先介绍一下diff和patch。1、diff--------------------NAME diff - find differences between... 阅读全文
posted @ 2015-03-21 19:27 general001 阅读(1058) 评论(0) 推荐(0)
摘要:多线程的话,如果没有设置每个线程的名字,默认的是进程的名字。为每个线程设置名字,比较好管理和调试下面的代码显示了如何设置线程的名字:[cpp] view plaincopyprint?#include #include #include void*foo(void*arg){intidx=arg;p... 阅读全文
posted @ 2014-10-29 20:02 general001
摘要:1、查看当前控制台的打印级别cat /proc/sys/kernel/printk4 4 1 7其中第一个“4”表示内核打印函数printk的打印级别,只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息2、修改打印echo "新的打印级别 4 1 7" >/proc/sys/kerne... 阅读全文
posted @ 2014-07-16 16:14 general001
摘要:LZMA (Lempel-Ziv-Markov chain-Algorithm) 基于著名的LZ77压缩算法改进的压缩/解压工具,特点:高压缩率,高解压速度,低内存消耗,lzma命令行工具使用方式和gzip,bzip2类似,对 已经熟悉gzip,bzip2这类工具的用户来说,上手并不难。对比两大主流压缩工具:gzip,bzip2:1,lzma和bzip2在速度上面远远输给gzip,但在压缩率方面,lzma算法占优势。2,lzma拥有比gzip,bzip2更高的压缩比率,压缩后文件更小,纯文本文件压缩更加明显,在解压方面比bzip2速度快出数倍,对于想要有较高的压缩率,又不想消耗太多内存,lzm 阅读全文
posted @ 2014-03-04 22:15 general001
摘要:应用层: #include #include 1、unsigned intsleep(unsigned int seconds); 秒级 2、Sleep(n)//n毫秒 3、intusleep(useconds_t usec); 微秒级:1/10^-6 #define _POSIX_C_SOURCE 199309 #include 4、intnanosleep(const struct timespec *req, struct timespec *rem);struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nan. 阅读全文
posted @ 2013-12-14 19:17 general001 阅读(1799) 评论(0) 推荐(0)
摘要:一.相关知识介绍(1)为什么我们要用busybox?我们利用busybox主要是生成文件系统的4个主要文件:bin sbin usr linuxrc这4个文件就是我们要构建的文件系统的主体部分,生成上述文件后busybox对于我们来说就没有什么作用了,我们一般的做法是在其他的地方再建立一个文件夹,然后将bin sbin usr linuxrc拷贝过去,以后我们做的文件系统就是这个新建的文件夹里边。(2)用yaffs2生成一个做文件系统镜象的工具在yaffs2里边有个文件夹叫utils,在这个里边3个文件,Makefile ,mkyaffsimage.c mkyaffs2image.c ,在这个 阅读全文
posted @ 2013-12-14 09:06 general001 阅读(461) 评论(0) 推荐(0)
摘要:转自tb01412在命令提示符下输入vi my_image进入VI界面之后,输入以下的文本dd if=/dev/zero of=/tmp/tmp_loop bs=1k count=512mkfs -t ext2 /dev/loop0 mount -t ext2 /dev/loop0 /mntmkdir -P /mnt/devmkdir -P /mnt/binmkdir -P /mnt/etc...umount /mnt losetup -d /dev/loop0 dd if=/tmp/tmp_loop | gzip -9 > /tmp/Ima... 阅读全文
posted @ 2013-12-14 09:02 general001 阅读(183) 评论(0) 推荐(0)
摘要:相信大家在看很长很长的代码的时候常常会遇到以下的情况:看到一个变量或者函数的声明或调用的时候,不知道这个变量和函数到底是有什么作用的,这时就要很麻烦的在整篇代码中一行一行地来搜索变量或函数的出处,非常的麻烦,有时甚至找了很久都找不到。这时,我们就可以使用到ctags来帮我们完成这个繁琐的任务。(一般系统都会默认安装了ctas,大家可以在终端试下直接输入指令ctags检验一下是否已安装,若没有安装可自行安装) 现在开始来讲下如何使用ctags: 第一步:找到你需要阅览的文件所在的文件夹,一般情况下都习惯把所有需要查看的代码放到同一个文件夹,假设这个文件夹的名字就叫做finddir,先用cd指令. 阅读全文
posted @ 2013-08-12 17:28 general001
摘要:top - 09:19:42 up 19 days, 11:03, 3 users, load average: 1.37, 1.54, 1.61Tasks: 214 total, 3 running, 211 sleeping, 0 stopped, 0 zombieCpu(s): 10.6% us, 1.6% sy, 0.0% ni, 87.5% id, 0.0% wa, 0.0% hi, 0.3% siMem: 32910316k total, 32533252k used, 377064k free, 92452k buffersSwap: 67111528k total, 45762 阅读全文
posted @ 2013-04-17 22:00 general001 阅读(154) 评论(0) 推荐(0)
摘要:首先确保主机能ping的通开发板,再来确定问题 大家都知道,调试程序用nfs挂载很方便,但是郁闷的是在我们怎么mount都会出错误,首先,nfs就困扰了我好几天,直到今天才把虚拟机里面的文件挂载到我的mini2440上面,其中过程如下: 首先说第一个问题当我们的虚拟机ip和开发板ip都固定以后而且能够互相ping通的时候,我们就可以设置虚拟机nfs服务器了,服务器的设置配置文件/etc/exports 和nfs的启动假如说我们的共享目录为/home 那么我们的配置文件/etc/exports 可以写成/home server.cluster(rw,async,no_root_squash)就可 阅读全文
posted @ 2013-03-23 10:10 general001 阅读(552) 评论(0) 推荐(0)
摘要:ln -s target_filename symlink_filename将上述命令中的target_filename用符号链接将要指向的相对路径或者绝对路径进行替换。在通常的情况下,目标文件应该存在。但是也可以创建一个指向不存在目标的符号链接。将symlink_filename用希望的符号链接名替换。这条ln命令将会创建一条符号链接。当创建完符号链接之后,可以将symlink_filename当作target_filename的别名看待。普通的文件操作命令(如cp、rm等)都能直接作用于符号链接。用于读写文件内容的命令将会直接访问目标文件。 阅读全文
posted @ 2012-09-08 16:34 general001 阅读(138) 评论(0) 推荐(0)
摘要:在用c c++编程时经常用到库,库有静态的,和共享库。在这里我只是说linux系统下的静态库和共享库。有人把共享库称为“动态库”,这是相对于“静态库”而言的,是为了说明在程序链接它时的不同。不过从更宏观的层次上叫它共享库更贴切。用例子说明吧:现在有这几个文件:zerg.h zerg.cpp hydralisk.h hydralisk.cpp需要用库的形式提供。制作静态库:1.编译gcc -c zerg.cpp hydralisk.cpp编译出zerg.o hydralisk.o。然后用一个命令“ar”,把所有的.o文件打包,生成静态库libzerg.a2.打包ar -qcs -o libzer 阅读全文
posted @ 2012-07-03 14:19 general001 阅读(186) 评论(0) 推荐(0)
摘要:由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。问题解决: 在编译中要加 -lpthread参数 g 阅读全文
posted @ 2012-04-28 14:57 general001
摘要:vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 skyn 为数字,若 n 为 。,表示从当前行开始到最后一行:%s/vivi 阅读全文
posted @ 2012-03-28 14:46 general001 阅读(207) 评论(0) 推荐(0)
摘要:source 命令是 bash shell 的内置命令,从 C Shell 而来。source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。source 命令可以强行让一个脚本去立即影响当前的环境。source 命令会强制执行脚本中的全部命令,而忽略文件的权限。source 命令通常用于重新执行刚修改的初始化文件,如 .bash_profile 和 .profile 等等。source 命令可以影响执行脚本的父shell的环境,而 export 则只能影响其子shell的环境。使用方法举例:$source ~/.bashrc或者:$. ~/.bashr 阅读全文
posted @ 2012-03-27 20:11 general001