Linux
文章平均质量分 74
Deebug
Deebug ...
展开
-
fflush(stdin)和fflush(stdout) .
fflush(stdin)比较容易理解,即清理标准输入流,把多余的仍未被保存的数据丢掉。比如,下面这个小程序:void main(){ int a; char str[10]; cin>>a; cout cin>>str; cout}目地很简单:从stdin获得一个整数存转载 2014-06-04 10:37:16 · 802 阅读 · 0 评论 -
超简单debian root密码恢复
An automatic file system check (fsck) of the root filesystem fialed. A manual fsck must be performed, then the system restarted. The fsck should be performed in maintenance mode with the root file原创 2014-12-22 17:22:54 · 8556 阅读 · 0 评论 -
nf_hook_ops 钩子的注册
nf_hook_ops 钩子的注册在filter表的初始化函数static int __init init(void)中除了有一个nf_register_hook函数注册一个tables外,还由nf_register_hook函数注册了3个hook 1 nf_hook_ops数据结构 netfilter.hstruct nf_hook_ops{ stru原创 2014-12-22 17:28:51 · 950 阅读 · 0 评论 -
fcntl的使用(转)
1、获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0);2、设置文件的flags: fcntl(fd,F_SETFL,flags);3、增加文件的某个flags,比如文件是阻塞的,想设置成非阻塞: flags = fcntl(fd,F_GETFL,0);原创 2014-12-22 18:20:31 · 666 阅读 · 0 评论 -
【转】FILE *fp fopen 参数
【转】FILE *fp fopen 参数"rt" 只读打开一个文本文件,只允许读数据 "wt" 只写打开或建立一个文本文件,只充读写数据 "at"追加打开一个文件文件,并在文件未层写数据 "rb"只读打开一个二进制文件,只充许读数据 "wb"只写打开或建一个二制文件,只充许写数据 "ab"追加打开一个二进制文件,并在示尾写数据 "rt+"读写打开或建转载 2014-12-22 18:38:56 · 22650 阅读 · 1 评论 -
Linux中文输入法的安装与配置
fcitx 中文输入法官方网址: http://www.fcitx.org/小企鹅输入法Deebug20130302原创 2014-12-22 18:42:35 · 634 阅读 · 0 评论 -
alloc_netdev()与alloc_etherdev() (转)
alloc_netdev()函数生成一个net_device结构体,对其成员赋值并返回该结构体的指针。第一个参数是设备私有成员的大小,第二个参数为设备名,第三个参数为net_device的setup()函数指针。setup()函数接收的参数为struct net_device指针,用于预置net_device成员的值。linux-2.6.22/net/core/dev.c-------原创 2014-12-22 18:52:43 · 2461 阅读 · 0 评论 -
Linux内核同步机制API函数:宏:spin_lock_init ( )
宏定义: 在内核源码中的位置:linux-2.6.30/include/linux/spinlock.h宏定义格式:# define spin_lock_init(lock) \ do { *(lock) = SPIN_LOCK_UNLOCKED; } while (原创 2014-12-22 17:18:41 · 15939 阅读 · 0 评论 -
BSD协议
BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。什么是许可协议呢,要介绍什么是许可,当你为你的产品签发许可,你是在让出自己的权利,不过,你仍然拥有版权原创 2015-02-02 15:49:16 · 2492 阅读 · 0 评论 -
认识Montavista
Montavista是MontaVista Software公司简称.MontaVista Software公司日前宣布推出新版Mobilinux,可协助移动和无线装置开发者解决关键的设计问题。Mobilinux包括一些工具,能协助降低资源需求,节省RAM和Flash内存空间。Mobilinux 4.1结合了诸如uClibc、squashfs和DirectFB等技术以及专门用于内存分析功能的开原创 2014-12-26 15:02:14 · 935 阅读 · 0 评论 -
Ubuntu技巧之清理系统中无用的软件包
如何清理Ubuntu系统中软件包如果你频繁的在你的系统中安装/卸载,那么不时的清理一下你的系统是十分必要的。在Ubuntu终端中执行如下命令:sudo apt-get autoremove屏幕输出是这个样子的:Reading package lists… DoneBuilding dependency treeReading state informatio转载 2015-03-16 15:59:13 · 9418 阅读 · 0 评论 -
linux 重定向命令
标准输入,输出和错误---------------------------------文件文件 描述符---------------------------------输入文件—标准输入 0输出文件—标准输出 1错误输出文件—标准错误 2---------------------------------原创 2015-03-16 14:26:16 · 733 阅读 · 0 评论 -
gmake与make
这几天在做qtopia的移植发现还有个gmake,不清楚和make的区别,所以查来看看,并记下来,方便查找。~~~~~~~~~~~~~~~~gmake是GNU Make的缩写。 Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。 比如在安装二进制文件进行编译时要使用make命令,但如果在Sol转载 2015-03-20 18:38:12 · 1619 阅读 · 0 评论 -
如何在Ubuntu上安装软件的方法和技巧
1.查询版本1)aptitude show 软件名例如:aptitude show kde-runtime 显示如下:[html] view plaincopy****@ubuntu:~$ aptitude show kde-runtime 软件包: kde-runtime 状态:转载 2015-04-18 11:52:40 · 1324 阅读 · 0 评论 -
akari.c
高手无招胜有招奖项:Best of Show功能:处理三种文件格式(PGM、PPM和ASCII Art)的降采样工具作者:Google华裔工程师Don Hsi-Yun Yang /* +原创 2015-05-20 11:22:06 · 1800 阅读 · 0 评论 -
针对不遵守GPL行为的正确做法
本文的目的是希望能给某些no sharing的同志一些反省,同时为gpl的发展贡献一份微薄之力!一些制造商发布一个基于Linux的二进制固件,不提供任何源码。在做任何事之前,第一步是阅读来自设备的许可,然后像制造商回复关于设备缺乏开放源代码。如果制造商回答你他们没有释放一个包含开源的SDK软件,那么建议您与gpl-violations.org社区取得联系。您会发现下面一个样本的信,这封信可以向原创 2015-08-25 16:22:27 · 2022 阅读 · 0 评论 -
Linux内核代码风格
这是一个简短的文档,描述了linux内核的首选代码风格。代码风格是因人而异的,而且我不愿意把我的观点强加给任何人,不过这里所讲述的是我必须要维护的代码所遵守的风格,并且我也希望绝大多数其他代码也能遵守这个风格。请在写代码时至少考虑一下本文所述的风格。首先,我建议你打印一份GNU代码规范,然后不要读它。烧了它,这是一个具有重大象征性意义的动作。不管怎样,现在我原创 2015-07-30 15:18:41 · 809 阅读 · 0 评论 -
Linux 内核中断内幕
本文对中断系统进行了全面的分析与探讨,主要包括中断控制器、中断分类、中断亲和力、中断线程化与 SMP 中的中断迁徙等。首先对中断工作原理进行了简要分析,接着详细探讨了中断亲和力的实现原理,最后对中断线程化与非线程化中断之间的实现机理进行了对比分析。什么是中断Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。如果要管理这些设备,首转载 2014-12-22 15:59:08 · 598 阅读 · 0 评论 -
ubuntu下minicom和USB转串口(转)
minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。一、安装minicom:使用以下命令:# sudo apt-get install minicom以下为安装的详细信息:# sudo apt-get install minicom正在读取软转载 2014-12-22 15:57:28 · 557 阅读 · 1 评论 -
‘for’ loop initial declarations are only allowed in C99 mode
使用gcc编译代码是报出error: 'for' loop initial declarations are only allowed in C99 modenote: use option -std=c99 or -std=gnu99 to compile your code错误,这是因为在gcc中直接在for循环中初始化了增量:[cpp] view转载 2014-11-27 22:58:28 · 1279 阅读 · 0 评论 -
Linux中断(interrupt)子系统之一:中断系统基本原理
这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。 /****************************************************转载 2014-12-19 20:04:04 · 597 阅读 · 0 评论 -
开源BeagleBone的系统安装
BeagleBone是基于TI AM335x ARM Cortex-A8微处理器的开源开发平台。拥有USB、Ethernet和JTAG等完整的开发接口以及完全的扩展接口,提供了低成本,高扩展性的ARM平台。BeagleBone支持完全的Linux系统,在这里可以找到多个开源的项目在其上运行了。BeagleBone附送的micro SD卡中有预制的Angstrom系统,我们看看怎么使原创 2014-12-22 16:30:42 · 2060 阅读 · 0 评论 -
自旋锁
加锁(locking)是一种广泛应用的同步技术。当内核控制路径必须访问共享数据结构或进入临界区时,就需要为自己获取一把“锁”。由锁机制保护的资源非常类似于限制于房间内的资源,当某人进入房间时,就把门锁上。如果内核控制路径希望访问资源,就试图获取钥匙“打开门”。当且仅当资源空闲时,它才能成功。然后,只要它还想使用这个资源,门就依然锁着。当内核控制路径释放了锁时,门就打开,另一个内核控制路径就可以进入原创 2014-12-22 17:17:01 · 932 阅读 · 0 评论 -
正确理解UNICODE UTF-8等编码方式
如果你开发过的软件项目中涉及到多语言支持的问题,那么相信你没少碰到过乱码问题,然后在寻求解决问题的途径过程中被一些概念如ASCII, ISO-8859-1, Unicode,UTF-8,GBK,GB2312等等所困扰。本文有助于你正确的理解这些概念。1. ASCII用7位编码将英文字符和一些常用的符号存诸为从0到127的数值。 2. ISO-8859-1法语、西班牙语和德语之类原创 2014-12-22 17:20:40 · 3328 阅读 · 0 评论 -
utf8 utf16区别(转)
这个比较常用,比较下。 以前收藏的一篇 标题 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 选择自 fmddlmyy 的 Blog 关键字 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问原创 2014-12-22 17:21:59 · 1295 阅读 · 0 评论 -
ASCII码表(一)
ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。原创 2014-12-22 17:49:39 · 771 阅读 · 0 评论 -
Ubuntu Linux下USB转串口的应用和minicom的设置
USB串口转换器使用的芯片是PL2303(Deebug推荐!),可以在Ubuntu Linux终端输入lsusb命令查到设备信息# lsusb[root@www.linuxidc.com ~]# lsusbBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 006 Device 001: ID 1d6原创 2014-12-22 18:27:37 · 857 阅读 · 0 评论 -
makefile 中的PHONY
PHONY 目标 PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。 例如: clean: rm *.o temp 因为"rm"命令并不产生"clean"文件,则每次执行"make clean"的时候,该原创 2014-12-22 18:54:03 · 756 阅读 · 0 评论 -
2010-2011年中国嵌入式开发工程师现状调查报告(完整版)
1、来自华清远见2010-2011年度的行业调查数据显示,目前从事嵌入式开发“不到1年”和“1-2年”的工程师所占的比例依然是最大的,分别是35%和20%,占总参与调研人数的一半以上(55%)2、嵌入式技术将会呈现低端和高端两头同时热的发展现状。3、在嵌入式开发领域,ARM处理器毫无疑问的占据了嵌入式处理器90%以上的市场份额,作为手机、平板电脑等移动设备处于垄断地位的ARM架构和AR转载 2014-12-22 18:58:13 · 1852 阅读 · 0 评论 -
开放嵌入式:构建嵌入式Linux发行版的又一途径
作者:Nick Lethaby 操作系统产品经理Denys Dmytriyenko Linux及开源技术专家德州仪器在本文中,德州仪器(TI) Nick Lethaby 和 Denys Dmytriyenko 概括介绍了开放嵌入式(OE,Open Embedded) Linux构建环境的重要元素,并展示了如何使用它们构建和定制Linux发行版。随着嵌入式处理器的功能日益强大原创 2014-12-22 16:28:58 · 1773 阅读 · 0 评论 -
__attribute__
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute原创 2014-12-22 17:26:32 · 506 阅读 · 0 评论 -
fork与vfork思考
fork()与 vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork():子进程拷贝父进程的数据段,代码段 vfork():子进程与父进程共享数据段 2. fork()父子进程的执行次序不确定 vfork 保证子进程先运行,在调用 exec 或 exit 之前与父进程数据是共享的,在它调用 exec或 exit 之后父进程才可能被调度原创 2014-12-22 18:55:23 · 544 阅读 · 0 评论 -
[转]“What is the location of the directory of C header
首先,输入 $sudo lsb_release -a查看ubuntu的版本号,我的是11.04 内核2.6.38-8-generic然后安装VMWare Tools安装时候,大部分都是默认回车继续,知道遇到一个坑爹的货,跳出“What is the location of the directory of C header files that match转载 2014-12-22 15:50:09 · 583 阅读 · 0 评论 -
Ubuntu移动版Android系统安装指引
Ubuntu宣布一项新的开发者特性-Ubuntu的移动版本可直接运行在Android机上并实现双启动,目前该特性还不适合普通用户,主要为开发者体验而生。该双启动特性重写了 Android 的恢复分区,可通过 App实现系统的切换。提供 Android app来管理 Ubuntu的初始安装、升级和重启进入 Ubuntu系统。在 Ubuntu系统中提供一个双启动的应用来重启转载 2014-12-22 16:40:59 · 844 阅读 · 0 评论 -
ISO8859-1、UTF-8 与GB2312
Unicode、UTF-8 和 ISO8859-1到底有什么区别1.本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用原创 2014-12-22 17:25:44 · 914 阅读 · 0 评论 -
ASCII码表(二)
ASCII码对照表在Web开发时,如下的ASCII码只要加上&#和;就可以变成Web可以辨认的字符了在处理特殊字符的时候特别有用,如:' 单引号在数据库查询的时候是杀手,但是如果转换成'(注意:转换后的机构 有:&# +字符的ASCII码值+; 三个部分组成)再来存数据库,就没有什么影响了。其他的字符与ASCII码的对照如下表原创 2014-12-22 17:48:23 · 744 阅读 · 0 评论 -
unix环境高级编程-教材代码编译过程
1 获得源码 从apue的官方网站http://www.apuebook.com/下载 源码。(点击here直接下载) 在windows下载后用U盘拷到linux系统下找个目录解压 tar -zxvf src.tar.gz 在当前目录下解压 通过pwd查看你解压的目录 这个目录要记住会在下一步中用到2 WKDIR 编辑源码解压生成的apue.2e文件 夹下的Make.d转载 2015-08-03 15:35:33 · 563 阅读 · 0 评论