
linux
文章平均质量分 55
xtx1990
新一代年轻人
展开
-
svn版本回退
使用情况如下:假如目前代码版本为2010,经过测试发现存在问题,于是要回退到2000号版本,于是需要在本地取得2000的版本并上传至svn服务器,先在本地取得2010版本代码,然后使用如下命令svn merge -r 2010:2000 svn://192.168.0.119/UBoot/trunk/u-boot-1.3.3svn ci -m “commit” *转载 2013-06-28 17:52:07 · 977 阅读 · 0 评论 -
ubuntu10.04下安装文件/目录比较和同步工具meld
在找了很多比较工具(比如:KDiff3、Diffuse、Kompare)以后发现还是meld最好使用,其他的要么在gnome下无法安装或者就是只能比较文件而不能比较目录。打开“应用程序”->“ubuntu软件中心”搜索“meld”,点击安装即可。下面是一张界面截图:原创 2012-11-21 15:39:12 · 872 阅读 · 0 评论 -
Ubuntu 中软件的安装、卸载以及查看的方法总结
说明:由于图形化界面方法(如Add/Remove...和Synaptic PackageManageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install sof原创 2012-09-07 09:26:19 · 655 阅读 · 0 评论 -
嵌入式linux下实现蓝牙bluetooth实现个人局域网PAN
Bluetooth 个人区域网 (PAN) 是一种技术,可让您在移动计算机、移动电话以及手持设备之间创建使用无线链接的以太网网络。可以连接到以下类型的启用 Bluetooth 且使用 PAN 的设备:个人区域网用户 (PANU) 设备、小组临时网络 (GN) 设备或网络访问点 (NAP) 设备。以下是有关每种设备功能的详细信息:PANU 设备。 连接到启用 Bluetooth原创 2012-11-20 11:20:15 · 5308 阅读 · 0 评论 -
scons简易手册
在编译大程序时免不了要写个makefile来管理,但是makefile的规则对于大多数人来说都还太复杂了。于是我找到了autotools工具,尽管方便了一些,但是还是不够傻瓜。目前scons是我用过最傻瓜的。基本教程这里就不在累赘了,网上多的事,这里只是写常用变量和函数的汇总。详细英文文档地址:http://www.scons.org/doc/production/HTML/scons-m原创 2012-11-23 18:03:11 · 8431 阅读 · 0 评论 -
getopt函数和getopt_long函数 解析命令行
预备知识:1.getopt()getopt在UNIX下的命令列程式特别好用,特别是在你有许多参数要加入时。表头文件:#i nclude 函数声明:int getopt(int argc, char * const argv[], const char *optstring);函数说明:getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和转载 2012-11-14 15:13:51 · 598 阅读 · 0 评论 -
linux生成uuid全球唯一标识码方法
环境:ubuntu10.04 http://blog.youkuaiyun.com/liuchangyu23/article/details/4486794安装libuuid动态库sudo apt-get install libuuid1 uuid-dev 查看帮助文档man uuid_generate原创 2012-11-12 13:28:25 · 4643 阅读 · 0 评论 -
select,epoll,poll比较
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描转载 2012-11-12 11:14:56 · 339 阅读 · 0 评论 -
C语言中的面向对像
//使用C语言实现C++面向对象的功能[cpp] view plaincopyprint?/** * 用 c 语言实现类的继承,并且可用父类指针操作子类对像的一个测试例子 * * @Author: tomken.zhang * */ #include #include #includ转载 2012-11-12 11:46:54 · 624 阅读 · 0 评论 -
linux下搭建c/c++集成开发环境netbeans
在linux环境下搭建c/c++集成开发调试环境netbeans系统环境Linux: centos 5IDE: Netbeans 6.5 + C/C++ Pack+Subversion客户端插件安装方法进入下载地址http://netbeans.org/downloads/index.htmll 下载C/C++ Development Pack l 下载j原创 2012-11-12 14:11:11 · 1850 阅读 · 0 评论 -
linux新增timerfd接口详解
timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,所以能够被用于select/poll的应用场景。1. 使用方法timerfd提供了如下接口供用户使用timerfd_createinttimerfd_create(int clockid, int flags);timerfd_create用于创建一个定时器文件。参数clockid可原创 2012-11-07 17:26:41 · 959 阅读 · 0 评论 -
ubuntu11.10下使用vim编辑windows文件乱码
ubuntu11.04 下编辑windows文本文件或者源码时,经常碰到显示乱码。要解决这个问题,只需在/etc/vim/vimrc下加入下面这行:set fileencodings=ucs-bom,utf-8,cp936,gbk转载 2012-11-08 11:35:11 · 330 阅读 · 0 评论 -
重读《unix环境高级编程》-2012-10-16读书笔记
Unix环境高级编程(第二版)第三章、文件IOOpen函数的O_APPEND为每次写时都追加到文件的尾端,此操作为原子操作,因此可以多进程同时以此标志打开进行写操作。Open函数的O_CREAT与O_EXCL同时使用时,相当于测试文件是否存在,此操作为原子操作。O_RSYNC: 使每一个以文件描述符作为参数的read操作等待,直到任何对文件同一部分进行的未决写操作都完成。(比如原创 2012-10-17 11:46:31 · 531 阅读 · 0 评论 -
makefile输出调试信息
在makefile中有几种输出信息方法:$(warning) //这种输出不会退出makefile的执行$(error) //这种输出会退出makefile的执行@echo //这种只可以再生成目标的命令中使用原创 2012-11-07 17:24:30 · 1542 阅读 · 0 评论 -
Ubuntu下看不见pthread_create(安装pthread线程库)
使用下面的命令就可以了!sudo apt-get install glibc-docsudo apt-get install manpages-posix-dev然后在用man -k pthread_create就可以找到了。(注意线程号pthread_t 的类型为typedef unsigned long int pthread_t, 所以不能直接进行比较转载 2012-11-02 13:58:34 · 2535 阅读 · 0 评论 -
Linux下通过进程名获得进程号
因为存在多进程和线程,Linux下同一个进程名有可能有多个进程号。下面的程序可以一次获得同一进程名的所有进程号。注意下面代码的局限性:如果允许程序带参数的话,使用该代码恐怕就起作用了,例如./myprocess -o filename -p port , 不信的可以自己写个代码试试。process.h[cpp] view plaincopy转载 2012-08-23 15:46:27 · 2250 阅读 · 0 评论 -
程序后台运行已经输出重定向
nohup如果你正在运行一个进程,而且你想要在退出帐户时该进程继续执行,那么可以使用nohup命令。它是不挂起的意思。命令形式为:nohup command &尤其是当执行一个拥有多条命令的脚本时,看一个例子:假如有一个脚本(append.sh)拥有多条shell命令:nohup ./append.sh > out.append 2>&1 &那么这个脚本原创 2012-11-12 13:40:27 · 1415 阅读 · 0 评论 -
tipc协议详解
TIPC协议和实现解析 1, TIPC简介TIPC是爱立信公司提出的一种透明进程间通信协议, 主要适用于高可用(HAL)和动态集群环境. 该软件当前主要由风河(windriver)公司在维护, 主要支持Linux, Solaris 和 VxWorks三种操作系统, 从Linux内核2.6.34开始支持TIPC的最新版本2.0, 不过还有很多协议设计的功能没有实现. 在可信网络环境下, TCP/IP转载 2013-06-24 11:36:18 · 17656 阅读 · 0 评论 -
自我学会利用Linux系统上已有的开发库
http://zhoulifa.bokee.com/6094520.html1、查看库文件是由哪个软件包提供的空闲时打开/usr/lib目录(因为我知道这个目录下放着一些库文件,是我们开发者可以利用的)想看看我的系统中有哪些库。看到一个libz.so,于是用命令查看:dpkg -S /usr/lib/libz.so此命令输出如下信息:转载 2013-06-24 10:25:08 · 829 阅读 · 0 评论 -
linux下比grep更快速的检索工具ack-grep安装
安装系统:ubuntu10.04参考地址:http://beyondgrep.com/install/ ack相比grep的10大优点: 0. 更多用户感谢信,随便抽一条: "That thing is awesome. People see me using it and ask what the heck it is."原创 2013-06-07 14:19:57 · 3274 阅读 · 0 评论 -
事件管理器设计备忘录
转载时请注明出处和作者联系方式:http://blog.youkuaiyun.com/absurd作者联系方式:李先静更新时间:2007-5-17 事件管理器基于MVC模型提供一种进程间的通信机制,其主要作用是解开事件的触发者和事件的实现者之的耦合,也为集中处理某些事件提供了方便。现在看来,事件管理器的作用已经大不如以前了,比如下面这些事件,以前由事件管理器处理,而现在已经由其它服务代劳了:转载 2013-06-18 15:43:52 · 691 阅读 · 0 评论 -
段错误bug的调试
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难 免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个 内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。下面将就以下的一个存在段错误的程序介绍几种调试方原创 2013-06-14 14:24:37 · 671 阅读 · 0 评论 -
inotify用法简介及以之结合rsync实现主机间的文件实时同步
一、inotify简介大家可以去https://github.com/rvoicilas/inotify-tools/wiki/看一些相关介绍。 要使用此工具需要Linux Kernel的支持,在2.6.32内核,需要打开CONFIG_INOTIFY与CONFIG_INOTIFY_USER。 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的转载 2013-06-03 16:43:36 · 797 阅读 · 0 评论 -
Linux inotify功能及实现原理
1. inotify主要功能它是一个内核用于通知用户空间程序文件系统变化的机制。众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是转载 2013-06-03 16:42:11 · 661 阅读 · 0 评论 -
IT编程好书推荐
列一下我所认为的,你面试微软前必须要读的十本书:Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)Computer System: A Programmer’s Perspective (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修转载 2013-05-16 13:36:45 · 798 阅读 · 0 评论 -
关于linux下的随机数产生器的简单原理
要从随机数说起 调用随机数函数 rand() 的时候, 实际得到的这个随机数并不是绝对随机的,它是以一个初始值,通过一个算法,计算出来的“伪随机数"数列,每次调用rand()时,从这个数列依次取出一个值,做为随机数。这个初始的值就是"随机数种子", 也就是说,如果随机数种子相同,计算出的随机数数列是相同的。而srandom( x) 这个函数就是初始化随机数产生器,设定随机数种子用的。给定的x的就转载 2013-04-11 11:16:46 · 1108 阅读 · 0 评论 -
ubuntu搭载本地svn服务器
本方法适用于本机或小型局域网代码版本控制。使用svn://协议。如果想使用http://协议则需安装配置apache.本文还基于ubuntu与windows samba共享服务。 1.安装软件[c-sharp] view plaincopy1. sudo apt-get install subversion 2.创建代码库cd /home/svnuser原创 2013-03-01 13:29:55 · 684 阅读 · 0 评论 -
linux内核代码数量增长情况
Linux® 内核版本 3.3 和 3.4 包括一个令人印象深刻的特性集,但是在某种意义上它们也是不详预兆的里程碑。版本 3.3 是第一个超过 1500 万行代码的 Linux 版本(采用了一种确实存在缺陷的测量方法测量的)。如果减去 Linux 内核的变体部分(比如驱动程序、架构相关代码和各种工具),数量可能会下降到 400 万以下(仍然是一个庞然大物)。关于这个里程碑潜在的不详预兆有两转载 2013-01-08 18:17:00 · 4406 阅读 · 0 评论 -
netbios协议使用
NetBIOS协议 说明:全称NetWork Basic Input/Output System(网络基本输入/输出系统),该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上原创 2012-12-17 13:06:53 · 1194 阅读 · 0 评论 -
snmp服务使用
Win7默认是不打开snmp服务的,需要手动打开,方法这里就不写了网上多的是。安装net-snmp工具,里面包含了snmpwalk、snmpget等工具:用法举例:1、snmpwalk-c public -v 1 -m ALL 192.168.30.49 .1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等2、snmpwalk -c public原创 2012-12-17 13:06:05 · 622 阅读 · 0 评论 -
linux下24时区文件对于表
这些文件都在/usr/share/zoneinfo/目录下,只需要把下面的/etc/localtime链接到下面的文件即可改变时区,系统时间也会跟着变化:GMT-11:00 Pacific/Apia 2012年 10月 24日 星期三 16:20:45 WSTGMT-10:00 Pacific/HonoluluGMT-09:30 Pacific/M原创 2012-12-17 11:54:44 · 1929 阅读 · 0 评论 -
ubuntu10.04安装samba服务器
1. 安装软件包:sudo apt-get install samba smbfs2.修改配置文件sudo gedit /etc/samba/smb.conf找到#security = user 这行,用下面两行取代:security = user username map = /etc/samba/smbusers 在末尾添加如下内容:[Share]comme原创 2012-10-26 17:37:25 · 762 阅读 · 0 评论 -
vim使用技巧
针对C/C++代码文件对齐:1. 全文对齐:进入阅读模式下,按“gg”进入首行,按“V”选择第一行,再按“G”选择全文,接着按“=”自动对齐全文。2. 单行对齐:按“==”配置vim打开跳至上次打开位置,修改/etc/vim/vimrc, 在末尾添加如下内容:au BufReadPost * if line("'\"") > 0|if line("'\"")原创 2012-11-01 11:17:49 · 442 阅读 · 0 评论 -
eventfd函数详解
从Linux 2.6.27版本开始,新增了不少系统调用,其中包括eventfd,它的主要是用于进程或者线程间的通信(如通知/等待机制的实现)。 函数原型: #include int eventfd(unsigned int initval, intflags);参数解释:如果是2.6.26或之前版本的内核,flags 必须设置为0。Flags支持一下标志位:原创 2012-11-01 13:51:00 · 2462 阅读 · 0 评论 -
gcc编译错误表
conversion from %s to %s not supported by iconv”iconv 不支持从 %s 到 %s 的转换”iconv_open”iconv_open”no iconv implementation, cannot convert from %s to %s”没有 iconv 的实现,无法从 %s 转换到 %s”characte转载 2012-08-08 16:52:00 · 2601 阅读 · 0 评论 -
linux下特殊errno的处理
1. 对EINTR的处理 在errno对照表中,EINTR翻译过来的意思就是系统调用被中断,下面是在不同的函数中表示的意思,当然这个错误不仅仅只在下面的函数被调用时才会出现的,因此在写代码时,应该把出现这种错误的情况考虑进去。1)write 表示:由于信号中断,没写成功任何数据。The call was interrupted by a signalbefore any da原创 2012-08-07 14:10:01 · 1089 阅读 · 0 评论 -
linux下epoll的深入研究
epoll精髓在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#转载 2012-08-07 14:14:38 · 1647 阅读 · 0 评论 -
linux下无法安装软件包
正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是不稳定(unstable)发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或是它们还在新到(incoming)目录中。下列的信息可能会对解决问题有所帮助:下列的软件包有不能满足原创 2012-08-06 16:19:17 · 5548 阅读 · 0 评论 -
linux下shell脚本自动生成编译信息
摘自asterisk源码里面,哈哈,开源项目就是好!!!//把下面cat内容导出到build.h文件就是编译信息。#!/bin/shHOSTNAME=`uname -n`KERNEL=`uname -r`MACHINE=`uname -m`OS=`uname -s`USER=`id | awk -F")" '{print $1}'| awk -F"(" '{print $2}'原创 2012-08-02 18:16:58 · 1171 阅读 · 0 评论 -
管道及有名管道
1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,转载 2012-08-03 17:09:14 · 410 阅读 · 0 评论