自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘锡明的专栏

随便写写

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

原创 编译器的符号修饰规则

编译器编译源代码生成目标文件时,需要为每一个变量、函数生成符号,保存到符号表。在符号表中,每一个符号必须唯一,因此要求源代码中不能存在与其它文件中的变量名、函数名相同的函数,包括使用到的库中的函数。    为了解决符号名冲突的问题,编译器会对源代码中的符号进行修饰,如UNIX下编译生成的符号会在符号名前加下划线”_”。    一些高级语言如C++,则需要更为复杂的方式进行符号修饰。

2012-05-12 20:48:45 2921

原创 链接的目的链接过程

1.  链接的目的    源代码经过编译后,生成了一系列的目标文件。每一个目标文件,具有自己的代码段、数据段、符号表、重定位表等信息(参考目标文件结构介绍)。    在代码段中,编译生成的机器代码需要访问数据段的数据,或是代码段的函数。但在单个目标文件中,只有局部的数据和代码信息。如下例:    文件a.c:    unsigned long a = 10;

2012-05-12 20:22:07 1843

原创 目标文件结构介绍

开发人员开发的代码,需要经过编译和链接两个过程,才能生成最终的可执行文件,或共享文件(Linux的.so或windows的.dll文件)。其中链接文件(或称为目标文件,在Linux下为.o,在windows下为.obj)是编译器编译后生成的文件。在链接时,链接器再将它链接成为可执行文件或共享文件等。        目标文件的格式主要是Linux平台下的ELF(ExecutableLinkabl

2012-05-12 18:21:55 1249

原创 可执行文件的装载过程

应用程序,其实就是一系列的指令,以及指令所操作的数据。为了执行这些指令,并通过指令操作数据,需要将应用程序文件加载到内存中。然后从程序的入口开始逐条执行程序文件中的指令。        在介绍应用程序的装载过程之前,需要先了解可执行文件映射到内存后的布局情况。应用程序的内存通常是按如下方式分布:               每个应用程序的逻辑内存在32位机器上共有4GB,上图只标出

2012-05-12 17:12:26 1353

原创 Linux共享库组织

1. 版本组织   Linux共享库版本组织主要分为共享库版本和符号版本:   1) 共享库版本:    共享库采用x.y.z的方式标识共享库版本,x为主版本号,y为次版本号,z为发布版本号;   当主版本号发生变化时,代表共享库版本发生了不兼容的变化,如函数签名变化、接口数据结构变化、函数行为变化等;    当次版本号发生变化时,代表共享库版本增加了新特性,但已有

2012-05-12 16:14:30 1202

原创 希尔排序算法的JAVA实现

package Utils.Sort; /***希尔排序,要求待排序的数组必须实现Comparable接口*/public class ShellSort implements SortStrategy{       private int[] increment;       /**       *利用希尔排序算法对数组obj进行排序       */       public void sor

2005-10-10 13:02:00 5863 2

原创 快速排序算法的JAVA实现

package Utils.Sort;/***快速排序,要求待排序的数组必须实现Comparable接口*/public class QuickSort implements SortStrategy{       private static final int CUTOFF = 3;             //当元素数大于此值时采用快速排序        /**       *利用快速排序算

2005-10-10 12:59:00 12153 4

原创 归并排序算法的JAVA实现

package Utils.Sort;/***归并排序,要求待排序的数组必须实现Comparable接口*/public class MergeSort implements SortStrategy{       private Comparable[] bridge;        /**       *利用归并排序算法对数组obj进行排序       */       public void

2005-10-10 12:50:00 4586

原创 选择排序算法的JAVA实现

package Utils.Sort;/***@author Linyco*利用选择排序法对数组排序,数组中元素必须实现了Comparable接口。*/public class ChooseSort implements SortStrategy{       /**       *对数组obj中的元素以选择排序算法进行排序       */       public void sort(Comp

2005-10-10 12:48:00 4409

原创 冒泡排序算法的JAVA实现

package Utils.Sort;/***@author Linyco*利用冒泡排序法对数组排序,数组中元素必须实现了Comparable接口。*/public class BubbleSort implements SortStrategy{       /**       *对数组obj中的元素以冒泡排序算法进行排序       */       public void sort(Comp

2005-10-10 12:43:00 5815

原创 插入排序算法的JAVA实现

package Utils.Sort;/***插入排序,要求待排序的数组必须实现Comparable接口*/public class InsertSort implements SortStrategy{       /**       *利用插入排序算法对obj进行排序       */       public void sort(Comparable []obj)       {      

2005-10-10 12:40:00 10351 3

原创 常用的各种排序算法的JAVA实现。

   老婆决定要考同济大学的研究生,所以我就复习了数据结构,准备为她答疑。学习之后,我觉得应该把排序算法系统的整理一下,于是用JAVA把《Data Structure and Algoritm Analysis in C》里面的排序算法实现了。现在贴出来希望有人能帮我指正一下里面的错误。  整个结构我使用的是Strategy模式,这是一种很显然的选择。由Sort类扮演环境角色,SortStrate

2005-10-09 16:42:00 5943 1

原创 自己写的JAVABEAN自动生成器

  最近我在学习JSP,可是在每次写JAVABEAN的时候,都发现好麻烦,要去写一大堆的GET和SET方法,听说ECLIPSE里面有自动生成的功能,我何不自己写一个。  首选我定义了一个Attribute类,用来存放属性信息(类型和名字)以及为它们生成GET/SET方法。package Utils.AutoBean;import java.util.*;class Attribute{ priva

2005-10-04 11:15:00 2069

B-树和AVL树源码

自已实现的B-树和AVL树的源码

2008-08-19

空空如也

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

TA关注的人

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