Welcome 微信登录

首页 / 操作系统 / Linux

Linux Kernel 2.6.37.2内核编译实战

Linux Kernel 2.6.37.2内核编译实战

昨天因为/etc/rc.d/rc文件被我弄坏,不得不重新安装系统,安装的发行版内核用的还是2.6.18,决定要赶紧升级下内核,呵呵。话说linux2.6.37.2内核出来也已经有一段时间了,目前2.6.38还在开发当中,于是还是下个stable的,步骤如下:1. ftp://ftp.kernel.org/pub/linux-2.6.37.2.tar.bz2获取源代码,放在/usr/src/kernel下, 并用tar解压2. 首先看一下源目录中Docume...
利用Java反射解决Android系统方法不能调用的情况

利用Java反射解决Android系统方法不能调用的情况

作者提到的“ Android系统方法”大部分是指Android源码中的隐藏类,其实我们要调用它们还有两种方法:一是从linux中编译后源码中提取该隐藏类所在的jar包,然后导入项目中调用;二是从编译前的源码中提取相应的java类,将其包含在项目中使用;从性能的角度将,我不提倡使用反射,据网上测试结果说,简单方法使用反射调用其性能损耗太大,但复杂方法或项目中使用性能损耗比例小一些,但还是会有损耗,所以希望大家在用之前多多斟酌得失吧~转载:之前在写2.2的退出...
Android的反射机制Reflection

Android的反射机制Reflection

由于Android 2.2的推出,很多新的API加入导致很多项目移植需要考虑使用Java的反射机制Reflection来动态调用,动态调用的好处就是不需要使用引用文件,直接通过JDK中声明好的方法直接调用,本身原理基于JVM的,从Java 1.5开始支持,原理上就是根据类名而不实例化对象的情况下,获得对象的方法或属性而直接调用。Android开发时反射能帮助我们多少?1. 有些网友可能发现Android的SDK比较封闭,很多敏感的方法常规的用户无法编译,我...
Eclipse + CDT + GDB 进行Arm Linux 交叉调试

Eclipse + CDT + GDB 进行Arm Linux 交叉调试

如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与Windows上同类软件相似的开发平台eclipse。 eclipse...
Qt for Maemo的开发环境搭建流程

Qt for Maemo的开发环境搭建流程

在网上看了很多类似的文章,但都有欠缺,现在把自己的经验记录一下我的操作系统是Ubuntu 9.10。我发现完成以下安装后将系统升级为10.04会导致原有的安装部分失效,所以建议大家不要在9.10上安装,然后升级到10.04。1 安装 Maemo 5 SDKNokia弄了个图形界面的安装程序,可以很方便的安装Maemo 5 SDK,Scratchbox。下载地址为http://www.forum.nokia.com/info/sw.nokia.com/id/...
Linux与Windows控制CPU使用率曲线

Linux与Windows控制CPU使用率曲线

前几天无聊,按照《编程之美》第一题写了个控制CPU使用率的程序,把自己的代码贴出来,供以后学习……效果图如下:Ubuntu Linux下截图Windows下截图其实程序的设计思想很简单,Windows任务管理器中CPU使用率基本上1s刷新一次,而CPU使用率其实就是在1s中CPU忙和闲时间的均值。因此,根据我们想要得到的CPU曲线的特点,我们首先做出忙闲时间的表,CPU根据忙闲时间选择执行或挂起。代码如下:#include <windows.h>...
Java内存溢出相关问题

Java内存溢出相关问题

一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理...
Linux GCC内联汇编 常用 constraints

Linux GCC内联汇编 常用 constraints

有很多 constraints,但是常用的只有少数。下面我们就来看下这些限制条件。1. 寄存器操作数限制条件: r如果操作数指定了这个限制,操作数将使用通用寄存器来存储。看下面的例子:asm ( “movl %%eax, %0” : “=r” (myval));变量 myval 被保存在一个寄存器中,eax 中的值被拷贝到这个寄存器中,并且在内存中的myval 的值也会按这个寄存器值被更新。当 constraints ”r” 被指定时,GCC 可能在任何一...
Android源码,SDK及ADT编译

Android源码,SDK及ADT编译

作为一个Android菜鸟,经过一个多礼拜的尝试,终于成功的在linux下编译android源码和SDK,并在eclipse下开发应用程序。虽然这一结果很简单,但是过程中小问题和小错误不断,任何一个错误都能让整个工作进行不下去,让人非常抓狂。因此想归纳一下在此过程中到一些心得和经验。a.下载android源代码 随便google一下都可以找到很多关于下载android源码的文章,这里引述一篇我觉得写的比较完整的文章:1、安装一些环境sudo apt-get...
Linux内核学习笔记之进程管理

Linux内核学习笔记之进程管理

1.基本概念o在支持线程的计算机系统里面,进程作为资源分配的基本单位而存在,线程作为调度的基本单位而存在。线程仅拥有必不可少的一些资源,如:一组寄存器、堆栈信息等等和其他线程共享同一个进程的所有资源。o所以,在同一个进程的线程切换时不需要大量的保存和恢复工作,同时由于共享同一个存储空间,不需要更新快表TLB,提高了系统性能。 线程的实现方法有三种:1、用户级线程;2、内核级线程;3、混合线程模型.oLinux2.6采用改进的线程模型NPTl(Native ...
Linux内核学习笔记之进程进程的组织形式

Linux内核学习笔记之进程进程的组织形式

1.进程标识符构成的哈希表内核使用一个进程描述符来表示一个进程,因此通过进程描述符的地址来访问一个进程是最方便的. 这里主要是用哈希表来完成进程号到进程描述符地址之间的映射.内核中设置了PIDTYPE_MAX个不同的哈希表(4个),这四个哈希表保存在数组pid_hash中,static struct hlist_head *pid_hash[PIDTYPE_MAX];pid_type是一个枚举内型。enum pid_type{ PIDTYPE_PID,//...
<< 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 >>