发明名称 最佳化样板目的档之系统与方法
摘要 本发明提供了一种可重新使用程式码并因而节省一程式内的程式码空间之系统及方法。一编译程式及一连结程式共同合作而决定要重新使用哪一目的码,以便实施样板类别及其他重复性的程式码段落。编译程式注意在目的码档中有哪些函式系自样板程式码或其他重复类型的程式码产生。一智慧型连结程式然后尝试比对程式码,并在程式码相符的情形中,只要给函式名称取别名,即可消除同一程式码的多个版本。编译程式可储存一个具有每一方法之循环冗余核对(CRC)码,即可减少连结程式的搜寻量。由于使用了本发明之系统及方法,所以可实现程式码的重新使用,且不会牺牲程式的效率。
申请公布号 TW364099 申请公布日期 1999.07.11
申请号 TW087100817 申请日期 1998.01.21
申请人 万国商业机器公司 发明人 马克A.色洪恩;麦可A.派克斯
分类号 G06F9/44 主分类号 G06F9/44
代理机构 代理人 陈长文 台北巿敦化北路二○一号七楼
主权项 1.一种产生一可执行程式之方法,包含下列各步骤:编译一个或多个原始码档,以便为每一原始码档产生一个目的码档;搜寻每一目的码档,以便决定是否有一个或多个重复的指令集;以及将该等目的码档连结在一起,以便产生一个可执行目的码模组,其中该可执行目的码模组包含每一重复指令集的一份拷贝。2.根据申请专利范围第1项之方法,其中该编译步骤又包含下列步骤:将一注释记录加入每一目的码档。3.根据申请专利范围第2项之方法,其中该注释记录包含一个或多个有可能重复的指令集之一名称及一位置。4.根据申请专利范围第2项之方法,其中该注释记录包含一档案名称、一行编号、一循环冗余核对码、及一函式名称。5.根据申请专利范围第1项之方法,其中该编译步骤又包含下列步骤:为每一个有可能重复的指令集计算一个循环冗余核对码。6.根据申请专利范围第5项之方法,其中该搜寻步骤包含下列各步骤:搜寻每一目的码档,以便决定是否有一个或多个相符的循环冗余核对码;以及如果找到相符的循环冗余核对码,则比较与该等相符的循环冗余核对码相关联之各指令集,以便决定该等指令集是否相同。7.根据申请专利范围第1项之方法,其中该连结步骤又包含下列各步骤:为该搜寻步骤中找到的每一重复指令集在该可执行目的码模组中产生一组重复的进入点:以及调整该可执行目的码模组中一个或多个函式呼叫之位址,以便将控制转移到一重复指令集的一份拷贝。8.一种资料处理系统,包含:一个或多个处理器;储存装置;输入/输出装置;显示装置:一作业系统的一个或多个影像,用以控制该等处理器的作业;编译装置,用以编译一个或多个原始码档,以便为每一原始码档产生一个目的码档;搜寻装置,用以搜寻每一目的码档,以便决定是否有一个或多个重复的指令集;以及连结装置,用以将该等目的码档连结在一起,以便产生一个可执行目的码模组,其中该可执行目的码模组包含每一重复指令集的一份拷贝。9.根据申请专利范围第8项之资料处理系统,其中该编译装置又包含将一注释记录加入每一目的码档之装置。10.根据申请专利范围第9项之资料处理系统,其中该注释记录包含一个或多个有可能重复的指令集之一名称及一位置。11.根据申请专利范围第9项之资料处理系统,其中该注释记录包含一档案名称、一行编号、一循环冗余核对码、及一函式名称。12.根据申请专利范围第8项之资料处理系统,其中该编译装置又包含为每一个有可能重复的指令集计算一个循环冗余核对码之装置。13.根据申请专利范围第12项之资料处理系统,其中该搜寻装置包含:搜寻每一目的码档之装置,用以决定是否有一个或多个相符的循环冗余核对码;以及比较装置,用以在找到相符的循环冗余核对码时,则比较与该等相符的循环冗余核对码相关联之各指令集,以便决定该等指令集是否相同。14.根据申请专利范围第9项之资料处理系统,其中该连结装置又包含:进入点产生装置,用以为该搜寻装置找到的每一重复指令集在该可执行目的码模组中产生一组重复的进入点;以及调整装置,用以调整该可执行目的码模组中一个或多个函式呼叫之位址,以便将控制转移到一重复指令集的一份拷贝。15.一种电脑可读取之媒体,包含:编译装置,用以编译一个或多个原始码档,以便为每一原始码档产生一个目的码档;搜寻装置,用以搜寻每一目的码档,以便决定是否有一个或多个重复的指令集;以及连结装置,用以将该等目的码档连结在一起,以便产生一个可执行目的码模组,其中该可执行目的码模组包含每一重复指令集的一份拷贝。16.根据申请专利范围第15项的电脑可读取之媒体,其中该编译装置又包含将一注释记录加入每一目的码档之装置。17.根据申请专利范围第16项的电脑可读取之媒体,其中该注释记录包含一个或多个有可能重复的指令集之一名称及一位置。18.根据申请专利范围第16项的电脑可读取之媒体,其中该注释记录包含一档案名称、一行编号、一循环冗余核对码、及一函式名称。19.根据申请专利范围第15项的电脑可读取之媒体,其中该编译装置又包含为每一个有可能重复的指令集计算一个循环冗余核对码之装置20.根据申请专利范围第19项的电脑可读取之媒体,其中该搜寻装置包含:搜寻每一目的码档之装置,用以决定是否有一个或多个相符的循环冗余核对码;以及比较装置,用以在找到相符的循环冗余核对码时,则比较与该等相符的循环冗余核对码相关联之各指令集,以便决定该等指令集是否相同。21.根据申请专利范围第15项的电脑可读取之媒体,其中该连结装置又包含:进入点产生装置,用以为该搜寻装置找到的每一重复指令集在该可执行目的码模组中产生一组重复的进入点;以及调整装置,用以调整该可执行目的码模组中一个或多个函式呼叫之位址,以便将控制转移到一重复指令集的一份拷贝。图式简单说明:第一图是可执行本发明的最佳化方法的资讯处理系统之方块图;以及第二图是编译并连结程式码的各步骤之流程图。
地址 美国