发明名称 用于多核的C语言扩充及编译系统支持方法
摘要 本发明涉及一种基于现有标准C语言的扩充方法,以便使现有C语言规范可应用于多核处理器的程序设计。并且描述了相应的对现有C语言编译系统的改进方法,使之能够支持上述改进方法,并且完成多核程序的编译工作。通过添加关键字“MCU”和“PUB”,将源程序按照不同的处理器核和公共存储区进行标注,并在本发明涉及的C语言前置编译程序的处理下,将其处理为按照不同处理器核和公共存储区对应的源程序文件,再调用传统C语言编译系统进行编译并最终得到一个或多个二进制程序文件,进行系统运行。本发明基于现有的C语言体系,采用添加关键字的方法对C语言程序进行扩展,在扩展C语言中兼容了所有的C语言的功能定义模块,应用简单,易于接受。能够保证按照传统C语言进行编译,并编译成用于多核处理器的二进制程序文件。在添加了本发明的前置编译程序的情况,能够在多核处理器上进行编译并生成可执行文件,便于扩展现有的编译软件,使之能够实现针对多核的编译。本发明可应用于基于多核技术的嵌入式控制器,并且与控制器类型并没有直接联系,只需要在编译系统中增加本前置编译程序即可实现,可广泛应用于所有多核处理器程序的编译系统中。
申请公布号 CN101794230A 申请公布日期 2010.08.04
申请号 CN201010140826.X 申请日期 2010.04.07
申请人 孙斌 发明人 孙斌
分类号 G06F9/44(2006.01)I;G06F9/45(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 代理人
主权项 一种扩展C语言的方法,其特征是添加新的关键字,用新的关键字区别不同的处理器核,使得每一段程序都对应具体的处理器核。为了能够保证与现有C语言的兼容性,我们定义默认处理器为处理器0。上述C语言扩充方法的具体步骤为:a.   在C语言体系下,保持现有C语言所有关键字;b.   添加新的关键字,保证其与其他关键字不重合,并且能够代表不同的处理器核,在此,我们选用了MCU、PUB作为新的关键字,其代表设置不同的处理器核;c.   参照现有C语言一般格式,设计该关键字在C语言中的使用方法。根据现有C语言语法格式,我们设计了MCU、PUB关键字使用方法。   d.为保证与现有C语言程序的兼容性,设置默认处理器编号为0,即当处理器为单核处理器时,其默认处理器核编号即为0。对程序而言,当程序并未如上述c项在定义后作关键字定义时,我们默认所有定义变量、函数、中断定位在处理器0中。   e.在现有C语言编译原理的基础上,添加对这两个关键字进行处理的前置编译程序。   f、添加现有的C语言编译程序,在前置编译程序之后,对分类后的程序进行C语言编译。
地址 200072 上海市闸北区延长路149号电机楼412室
您可能感兴趣的专利