自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夕阳帆的专栏

夕阳帆

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

转载 Could not load 'clearsilver-jni' java.library.path = out/host/linux-x86/lib make: *** [out/target/common/docs/api-stubs-timestam

<br />Could not load 'clearsilver-jni' java.library.path = out/host/linux-x86/lib make: *** [out/target/common/docs/api-stubs-timestamp] 错误 45<br /><br /><br /><br />编译froyo真的是错误频频,如果遇到这个问题,解决方法如下:把<br />external/clearsilver/cgi/Android.mk,<br />external/c

2010-10-29 16:09:00 3676

转载 ARM linux的中断向量表初始化分析

<br />本文分析基于linux2.4.19 source,pxa 270 cpu.<br />  ARM linux内核启动时,通过start_kernel()->trap_init()的调用关系,初始化内核的中断异常向量表.<br /><br />/* arch/arm/kernel/traps.c */<br />void __init trap_init(void)<br />{<br />   extern void __trap_init(unsigned long);<

2010-06-29 13:53:00 2201

转载 完整的socket代码

socket代码2010-04-18 16:34:09#include <stdio.h><br />#include <stdlib.h><br />#include <unistd.h><br />#include <errno.h><br />#include <string.h><br />#include <sys/types.h><br />#include <sys/socket.h><br />#include <netinet/in.h><br />#inc

2010-06-23 19:46:00 3018

转载 非阻塞socket的连接

<br />方案1:<br />int connect_socket_timeout(int sockfd,char *dest_host, int port, int timeout)<br />{<br />struct sockaddr_in address;<br />struct in_addr inaddr;<br />struct hostent *host;<br />int  err, noblock=1 , connect_ok=0, begin_time=time(NULL);<br

2010-06-23 17:21:00 1193

原创 Socket send recv

int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  <br />不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。<br />客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。<br />该函数的第一个参数指定发送端套接字描述符;<br />第二个参数指明一个存放应用程序要发送数据的缓冲区;<br />第三个参数指明实际要

2010-06-23 16:51:00 2666 2

原创 linux 切换进程前后台运行

<br />相关命令:&,bg,fg,jobs,screen<br />********************摘自freelamp.com*****************<br />假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:<br />[1]+ Stopped /root/bin/rsync.sh<br />然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)<br />#b

2010-06-18 09:34:00 1722 1

转载 /proc 实时管理 Linux

/proc 文件系统是 Linux 的优秀特性之一,本文向您详细讲述了它的一些最实用的基础知识。使用 /proc,您再也不用关闭并重新引导机器来管理操作系统的许多细节问题,这对那些要求系统的可用性尽可能高的管理员来说非常有用。任何管理过具有商业重要性的系统的人都知道计算机正常运行时间的价值 — 或者反过来讲,知道用户因故障时间会给您带来诸多头痛问题。公司采用 UNIX 服务器的主要原因之一

2010-04-24 18:59:00 654

转载 linux命令源码的查看

在平常的作业中,有时候老师让自己实现诸如cat等类的程序,有时候叫用shell实现,有时候用c实现,但是我经常一点头绪都没有,不过我想到linux开源的,命令代码可以拿来参考下阿,所以我就想看看linux命令的源代码,于是就开始了摆渡狗狗的搜索过程。从结果来看,有两种情况,一种是给予rpm的包的形式;另一种是基于deb包的形式。具体我也不知道该怎么描述,总之就是一种redhat的源码查看,一种是d

2010-04-19 12:28:00 1573

转载 编译linux内核 Documentation 为man手册

 编译linux内核 Documentation 为man手册 收藏 对每一个linux内核以及驱动开发者来说,内核自带的 Documentation目录无疑是一个非常非常有用的参考资料和学习资料。建议多读~ 当我们在写驱动或者修改内核的时候,可能需要用到某些kernel api,我们也想能够像libc api那样可以通过man手册查看其使用方法,毫无疑问,直接到内核 source code

2010-04-12 18:56:00 1449

原创 内核编译错误的一些解决办法

 尊重原创:http://blog.chinaunix.net/u3/93290/showart_1858623.html  一:invalid option `abi=aapcs-linux选项错误scripts/kconfig/conf -s arch/arm/KconfigCHK     include/linux/version.hSYMLINK include/

2010-04-09 16:48:00 6839

转载 用gdb调试core dump文件

尊重原创:http://blog.chinaunix.net/u2/83905/showart_2134570.html  在Unix系统下,应用程序崩溃,一般会产生core文件,如何根据core文件查找问题的所在,并做相应的分析和调试,是非常重要的。什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的dow

2010-04-07 17:15:00 6366

原创 bootloader 内核启动参数

一:启动参数的传递过程 启动参数是包装在数据结构里的,在linux kernel启动的时候,bootloader把这个数据结构拷贝到某个地址, 在改动PC跳向内核接口的同时,通过通用寄存器R2来传递这个地址的值,下面这句话就是uboot跳向linux kernel的代码(bootm命令) theKernel (0, bd->bi_arch_number, bd->bi_boot_params); 

2010-04-07 14:20:00 1604

转载 Uboot 启动流程简介

尊重原创 http://zwolf.cublog.cn/前面把内核的引导启动整理了~ 想想顺便把uboot也看看吧 = 3=uboot版本 : 1.3.0-rc3 由朗成的weibing进行了修改以提供板子的nand引导启动功能板子 : AT2440EVB在分析启动代码之前先看一下S3C2440的NAND启动:在配置NAND启动模式之后,S3C2440上电会先将NAND中的0x0 -

2010-03-28 21:28:00 2295

转载 Linux 2.6.19.x 内核编译配置选项简介

原文出处:http://www.svn8.com/shouce/Linux/kernel_options.html尊重原创!Code maturity level options代码成熟度选项Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 Gene

2010-03-17 13:44:00 960

原创 busybox

一、什么是busyboxBusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统 的版本要少);有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。原理是:很多标准 Linux 工具都可以共享

2010-03-17 10:16:00 1064

转载 linux内核配置系统分析

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。    众所周知,Linu

2010-03-17 10:15:00 586

转载 内核中的Makefile和Kconfig

一、概述     在内核编译中如何将各个目录树中的文件组织起来编译是一个很重要的问题,并且要根据用户配置来编译特有的内核。为了解决这个问题,内核使用两种文件,Makefie和Kconfig。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单,就是我们使用命令 make menuconfig(或者xconfig)后产生的配置菜单

2010-03-17 10:12:00 869

原创 YUM常用命令介绍

1.列出所有可更新的软件清单命令:yum check-update2.安装所有更新软件命令:yum update3.仅安装指定的软件命令:yum install 4.仅更新指定的软件命令:yum update 5.列出所有可安裝的软件清单命令:yum list用YUM安装删除软件装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。 安装的命令是,yu

2010-03-13 16:34:00 493

转载 ELF文件格式一例分析

ELF文件格式一例分析:以nasm生成一尽量小的ELF文件,以二进制方式,以objdump方式,以readelf方式,分析加载入内存及运行规律,得出结论。 编辑一个小的asm文件如下:crq@ $ cat new18.asmglobal _start_start: ud0 ud1 ud2很简单,只有 ud0, ud1, ud

2010-03-10 09:03:00 1030

原创 在Linux操作系统下建立DHCP服务器

 DHCP是Dynamic Host Configuration Protocol的英文缩写,翻译过来就是动态主机配置通讯协议。它的功能就是为网络连接动态分配IP地址,它允许客户端计算机向网络服务器自动获取网络设置。DHCP服务器使得网络管理员在管理网络中在网络中增加、删除网络节点或者重新配置网络时,工作变得非常简单,无须手工的分配IP地址。采用Linux主机建立DHCP服务器,比Window

2010-03-10 08:57:00 1376

原创 Qt/X11下qvfb工具运行时的小问题。

当运行Qt提供的虚拟Frame Buffer环境时:1.如果terminal提示:Cannot open keyboard pipe /tmp/.qtvfb_keyboard-0 把/tmp下的.qtvfb_keybo .qtvfb_mouse-0ard-0 删除然后回到到原目录下(不要切换目录)运行就ok了。什么原因不太清楚,file一下可以看出他俩是named pi

2010-03-06 18:40:00 2101 1

转载 Linux 共享库: LD_LIBRARY_PATH 与ld.so.conf

Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig

2010-03-04 19:28:00 693

原创 C ++的单例模式

单例模式:对应一个类只能生成一个对象。 #include class A{ private:  int id;  A() {}//把构造函数放在private:下目的是在类外不能在栈上直接分配空间定义对象。  public:  static A *pt;  static A *instance()  {   if (pt == NULL)//注意是双等号,还有好像在C+

2010-03-02 20:52:00 1060 1

原创 c版的回调函数与c++版的虚函数

C语言的回调函数思想代码: #include void *max(void *base, unsigned int nmemb, unsigned int size,     int (*compar)(const void *, const void *)){    int i;    void* max_data = base;    char* tmp = base;    fo

2010-03-02 16:06:00 1202

原创 ubuntu 安装google chrome浏览器

google chrome的开源版本Chromium,现在他支持ubuntu了  首先要增加源,我们修改sources.list  sudo gedit /etc/apt/sources.list  然后加入源,这里有两个不同的源  ubuntu 9.04 (Jaunty) ..." S5 G! h8 f; x  google chrome的开源版本Chromium,现在他支持ubuntu了5 u

2010-03-01 13:12:00 856

转载 ubuntu 9.10 安装QT4.5.3 QTEmbeded

下面是介绍安装qt 4.5.3 和qt QtEmbeded 4.5.3的方法,感谢erfolgreich他结合网上前辈们安装其他版本的安装过程,亲自成功安装了 QT 4.5.3 和 QtEmbeded 4.5.3,在这里分享一下安装过程 希望能帮助到一些人。一条件:下载以下安装包:1.qt-embedded-linux-opensource-src-4.5.3.tar.gz官网下载地址:h

2010-03-01 13:04:00 1029

转载 由于没有公钥,下列签名无法进行验证,解决方法

错误提示:W: GPG签名验证错误: http://ppa.launchpad.net intrepid Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 5A9BF3BB4E5E17B5W: 您可能需要运行 apt-get update 来解决这些问题解决方法:下载密匙:gpg --keyserver subkeys.pgp.net --recv ***

2010-03-01 13:01:00 1485

原创 c版本与c++版本的动态数组代码

C版本:vim stash.h #ifndef STASH_H#define STASH_Htypedef struct STASHTag {  int size;  /* Size of each space */  int quantity; /* Number of storage spaces */  int next; /* Next empty space */  /*

2010-02-28 13:04:00 709

转载 Linux中如何使用命令修改文件所属用户组?

先来了解一下文件属性,在shell环境里输入:ls -l 可以查看当前目录文件。如:drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份分别对应的是:文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置例如:  d   r

2010-02-28 10:40:00 4358

转载 ubuntu9.10之grub.cfg详解

 (红色部分为说明)grub.cfg 默认为只读,要修改前先设为可写sudo chmod +w /boot/grub/grub.cfgset default=0#默认为0 insmod jpeg#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tga insmod ext2#除了用作启动的分区外,其他分区格式可在menu底下再添加 set roo

2010-02-27 21:34:00 1365

转载 Linux ./configure --prefix命令

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下:-bash-3.00# ./configure --helpUsage: configure [

2010-02-24 10:59:00 93683 4

转载 configure参数介绍

configure脚本有大量的命令行选项。对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。带上--help选项执行configure脚本可以看到可用的所有选项。尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的。下面对每一个选项进行简略的介绍:--cache-file=FILEconfigur

2010-02-24 10:00:00 2718 1

转载 完善ubuntu的man手册

原文地址 http://blog.chinaunix.net/u2/78601/showart_1917085.htmlLinux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。Linux的man手册共有以下几个章节:1、Standard commands (标准命令)2、System calls (系统调用)3、Library functions

2010-02-04 20:47:00 639

转载 堆与栈

一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块 区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束释放 4另外还有一个专门放常量的地方。 - 程序结束释放 在函数体中定义的变量通常是在栈上,

2010-01-31 14:52:00 411

转载 ubuntu ufw防火墙

ubuntu 9.10默认的是UFW防火墙,已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。最简单的一个操作:sudo ufw status可检查防火墙的状态,我的返回的是:不活动sudo ufw version防火墙版本:ufw 0.29-4ubuntu1Copyright 2008-2009 Canonical Ltd.ubuntu 系统默认已安装ufw. (

2010-01-27 12:36:00 889

转载 ubuntu ufw防火墙

ubuntu 9.10默认的是UFW防火墙,已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。最简单的一个操作:sudo ufw status可检查防火墙的状态,我的返回的是:不活动sudo ufw version防火墙版本:ufw 0.29-4ubuntu1Copyright 2008-2009 Canonical Ltd.ubuntu 系统默认已安装ufw. (

2010-01-27 12:34:00 2707

转载 linux 系统调用列表 /usr/include/asm/unistd.h

一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设置指定进程组标

2010-01-26 21:12:00 3731

转载 深入理解Linux内存映射机制

一. 绪 论我们经常在程序的反汇编代码中看到一些类似0x32118965这样的地址,操作系统中称为线性地址,或虚拟地址。虚拟地址有什么用?虚拟地址又是如何转换为物理内存地址的呢?本章将对此作一个简要阐述。1.1  Linux内存寻址概述现代意义上的操作系统都处于32位保护模式下。每个进程一般都能寻址4G的物理空间。但是我们的物理内存一般都是几百M,进程怎么能获得4G的物理空间呢?这就是使用了虚拟地

2010-01-23 12:17:00 1083

详细的linux内核完全注释0.11版

对于想了解linux kernel的初学者来说,看看0.11版本的内核,是一种行之有效的方法。

2010-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除