Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux内段错误的解决办法

Linux内段错误的解决办法

一般来说,Linux内段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界访问,cp...
应用 Valgrind 发现 Linux 程序的内存问题[图文]

应用 Valgrind 发现 Linux 程序的内存问题[图文]

杨 经 (cdlyangj@cn.ibm.com), 软件工程师, IBM如何定位应用程序开发中的内存问题,一直是 Linux 应用程序开发中的瓶颈所在。有一款非常优秀的 Linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。应用 Valgrind 发现 Linux 程序的内存问题Valgrind 概述体系结构Valgrind是一套Lin...
Java程序中的配置文件的存放和读取

Java程序中的配置文件的存放和读取

大家可能经常会遇到在Java程序中存取程序配置文件的需求,比如,为了能够和不同的数据库连接,我们经常把数据库连接的信息存放到属性文件中,这些信息一般包括数据库驱动程序类名、数据库连接的URL,数据库的用户名和口令等等。为了便于程序的安装或部署,我们经常会把这些的配置文件存放到程序安装的根目录中。由于Java程序用包来分组类,有时候将这些配置文件放入到读取它们的类所在的包目录中会更好一些。比如,在下面的图示中,将数据库配置文件 database.prope...
庞大、整体化的JDK应该模块化

庞大、整体化的JDK应该模块化

Sun公司的首席工程师——Mark Reinhold一直主张将Sun JDK模块化。他举例说明了复杂性如何损害这个平台,以及JDK 6 update 10版的Java Kernel和Quickstarter的功能只是解决了JDK长期关联成长导致的表面诟病。Mark首先解释了JDK为何会成为现在这样庞大的状态:JDK非常大,但还没有像宇宙这么大。JDK很大是因为在过去13年里,Java SE平台已经从一个最初打算用于嵌入式设备的小系统发展成为横跨广阔领域、服...
袁萌:我和Java的一些往事

袁萌:我和Java的一些往事

大家知道,在1991年,几乎与Linux同时,SUN发布了Java编程语言。不久,我的大学同学(比我低两年)王克宏教授(清华博士导师)与SUN合作成立了中国最早的“Java研究中心”,并且担任该中心主任。从此,我开始注意Java技术的发展动态。我家中的存书,以Java书籍最多(当然,除了数学书籍之外)。1998年前后,红帽6.2版本包含了Enhydra中间件,我大受鼓舞,组织人力,开始了基于Linux平台的Web编程和应用。大概在1999年12月底,我记得...
JAVA学习笔记整理

JAVA学习笔记整理

前记:想要学习JAVA很久了,大概可以追朔到四年前还在读书的时候。但是,现在才开始学习,一是因为我的懒惰,二是因为工作领域属于嵌入式,不需要JAVA。然而,现在的情况是,JAVA已经渗入到了嵌入式领域,看看google的Android平台就清楚JAVA的威力了。所以,我决心开始学习JAVA。学习的另一个原因还在于个人的原因:我很惭愧,到目前为止,我还不能作出一个带有GUI的应用程序,无论在windows还是在linux,没有这方面的经验和知识,而JAVA给...
Linux常用命令以及Shell中sed的使用

Linux常用命令以及Shell中sed的使用

1.Linux常用命令:Linux下查看内存:top或者freeLinux下查看CPU:cat /proc/cpuinfoLinux下查看进程:ps –ef | grep 进程名Linux下查看操作系统版本:cat /proc/versionLinux下查看磁盘,文件信息(文件系统容量,挂接位置,使用,可用信息):df -lhLinux下的硬盘的分区情况:fdisk –lLinux下所有文件和目录所占的磁盘空间:du -ab2.Shell常用操作:(1)S...
在Linux下开发C、C++程序

在Linux下开发C、C++程序

1、安装函数库: glibc、libstdc++glibc是Linux下C的主要函数库。gnu的FTP网站上有libstdc++目录,libstdc++目录下有c++标准库libstdc++。linux安装时默认已安装。2、编辑器:在Linux下开发程序主要使用的编辑器为vi、vim和Emacs。3、编译器:GCC(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,gcc编译器能将C、C++语言源程序、目标程序编译、连接成可执行...
使用Java 2D API制作艺术动画

使用Java 2D API制作艺术动画

摘要:Paul Reiners 展示了如何通过 Java 2D API 和细胞自动机(cellular automata)以独特的艺术方式制作图像动画。在这个过程中,他演示了用 Java 代码实现图像操作器并介绍了循环空间(cyclic space ),循环空间是一种 2D 细胞自动机。您可以根据本文的思路创建自己的图像操作器,并使用 Java 技术创建艺术应用程序。本文说明如何通过实现 BufferedImageOp 接口来编写自定义 Java 2D 图...
Linux设备驱动程序第三版学习笔记--构造和运行模块

Linux设备驱动程序第三版学习笔记--构造和运行模块

装载驱动:#include <linux/init.h>定义的宏__init __initdata //模块始初化的函数或数据标记,标记为初始化的项目会在初始化结束后丢弃;__exit __exitdata //模块清除阶段的函数或数据标记,标记为清除化项目会在内核示被配置为可卸载模块的情况下被丢弃。//内核将以上相应的目标对象放置在可执行文件的特殊ELF段中而让这些标记起做内核源码中的宏定义:#define __init __section(...
学习Linux kernel编程及C++记

学习Linux kernel编程及C++记

对于不是科班,没有学过C++。之前也试图看过,云山雾海,就放弃了。C++只用在VC对付界面和写一些通信程序,反正通信程序也能用C写,尤其在Linux,对我而言就是纯C的环境。C++能做的C都能作,Linux kernel编程等等,协议栈都仍到C。后来也使用JAVA,终于向对象靠拢,也来玩玩C++。 在做一个通信小程序,涉及XML的解析,那个std::string真的不好用,比java差远了,结果就是弄了个string和const char共有的东东。通用...
Linux下函数库编写与使用

Linux下函数库编写与使用

Linux下使用的函数库分两种,静态库和动态库, 一般分别以后缀.a和.so来区别,其实就类似于Windows平台下的.lib和.dll.静态库一般是源代码只进行编译后生成的目标文件,不需要进行链接直接将该目标文件打包成函数库.对这类静态函数库的使用,是在编译链接使用了静态库的源代码文件时,指定好静态库文件(目标文件),将这些静态库(目标文件)一起链接进最终的可执行文件中去.所以在最终执行程序时,静态库中被使用到的函数是随程序启动开始就被加载到内存中去的....
<< 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 >>