CN102135898A - 一种通用gui开发编译处理方法及系统 - Google Patents

一种通用gui开发编译处理方法及系统 Download PDF

Info

Publication number
CN102135898A
CN102135898A CN2011100542798A CN201110054279A CN102135898A CN 102135898 A CN102135898 A CN 102135898A CN 2011100542798 A CN2011100542798 A CN 2011100542798A CN 201110054279 A CN201110054279 A CN 201110054279A CN 102135898 A CN102135898 A CN 102135898A
Authority
CN
China
Prior art keywords
gui
module
top box
generates
collector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011100542798A
Other languages
English (en)
Inventor
林格
曹庭毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN2011100542798A priority Critical patent/CN102135898A/zh
Publication of CN102135898A publication Critical patent/CN102135898A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开一种通用GUI开发编译处理方法及系统。该方法为:设置底层GUI实现模块、编译模块、图形开发模块;GUI图形开发模块根据开发人员在PC机上运用的图形开发库,生成相应代码,交给下层编译模块进行处理;编译模块,处理上层GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层底层GUI实现模块进行处理;底层GUI实现模块处理上层编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片操作,并生成GUI应用程序,交给下层机顶盒操作系统进行处理。本发明将在PC机上开发的图形开发代码编译成适用于机顶盒的GUI应用程序,有利机顶盒GUI开发,提高了开发竞争力。

Description

一种通用GUI开发编译处理方法及系统
技术领域
本发明涉及数字家庭技术领域,具体涉及一种通用GUI开发编译处理方法及系统。
背景技术
随着数字家庭技术的发展,机顶盒操作系统的开发的发展也越来越快。在现有的机顶盒GUI开发中,由于硬件等各方面的原因,基本都是简单的GUI库,不能实现强大的GUI功能,而在PC机的图形用户设计中,却有像QT、GTK这样的强大的图形开发库。
本发明的发明人发现:如能提供出一种通用GUI开发编译处理方法,使开发人员可以在PC机上进行QT、GTK等强大的图形开发库开发,然后通过编译软件,将在PC机上开发的图形开发代码编译成适用于机顶盒的GUI应用程序,将有利于机顶盒GUI开发的发展。
发明内容
本发明要解决的技术问题是提供一种通用GUI开发编译处理方法及系统,能够生成可以运用到机顶盒的GUI应用程序,使应用程序具有强大的通用性和应用性。
本发明提供的技术方案如下:
本发明提供一种通用GUI开发编译处理方法,包括:
在系统中设置底层GUI实现模块、编译模块、图形开发模块;
GUI图形开发模块根据开发人员在PC机上运用的图形开发库,生成相应代码,交给下层编译模块进行处理;
编译模块,处理上层GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层底层GUI实现模块进行处理;
底层GUI实现模块处理上层编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片操作,并生成GUI应用程序,交给下层的机顶盒操作系统进行处理。
可选的,所述编译模块设置预处理器模块、编译器前端、编译器后端;
预处理器模块通过代入预定义等程序段将源程序补充完整;
编译器前端负责解析(parse)输入的源代码,由语法分析器和语意分析器协同工作;
编译器后端负责分析,优化中间代码以及生成机器代码。
本发明提供一种通用GUI开发编译处理系统,包括:
底层GUI实现模块、编译模块、图形开发模块;
GUI图形开发模块,用于根据开发人员在PC机上运用的图形开发库,生成相应代码,交给下层编译模块进行处理;
编译模块,用于处理上层GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层底层GUI实现模块进行处理;
底层GUI实现模块,用于处理上层编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片操作,并生成GUI应用程序,交给下层的机顶盒操作系统进行处理。
可选的,所述编译模块包括预处理器模块、编译器前端、编译器后端;
所述预处理器模块,用于通过代入预定义等程序段将源程序补充完整;
所述编译器前端,用于负责解析(parse)输入的源代码,由语法分析器和语意分析器协同工作;
所述编译器后端,用于负责分析,优化中间代码以及生成机器代码。
上述技术方案可以看出:
本发明实施例将通用GUI开发编译成适用于机顶盒GUI开发的方式,使开发人员可以在PC机上进行QT、GTK等强大的图形开发库开发,然后通过编译软件,将在PC机上开发的图形开发代码编译成适用于机顶盒的GUI应用程序,大大提高了GUI的竞争力,并将有利于机顶盒GUI开发的发展,提高产品竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明机顶盒GUI模块层次结构图;
图2是本发明GUI开发流程图;
图3是本发明编译模块的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种通用GUI开发编译处理方法及系统,将通用GUI开发编译成适用于机顶盒GUI开发的方式,能够让开发人员在PC机上进行QT、GTK等强大的图形开发库开发,然后通过编译模块进行编译,生成可以运用到机顶盒的GUI应用程序,使应用程序具有强大的通用性和应用性。
以下分别进行详细说明。
图1为本发明的机顶盒GUI模块层次结构图。
本发明是将通用的QT、GTK、DFB等开发库编译成适用于机顶盒的中间代码,以达到代码的通用性和开发的独立性。如图1所示,包括101底层GUI实现模块、102编译模块、103图形开发模块。
101为底层GUI实现模块,主要是处理上层102编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片等操作,并生成GUI应用程序,交给下层的机顶盒操作系统进行处理。
102为编译模块,包括对各种GUI图形开发库的编译模块,处理上层103GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层101底层GUI实现模块进行处理。
103为GUI图形开发模块,主要是开发人员在PC机上运用QT、GTK等强大的图形开发库进行开发,然后生成相应代码,交给下层102编译模块进行处理,实现开发的独立性。
图2为本发明的GUI开发流程图。
程序员用通用图形开发软件进行开发,然后用通用的图形开发库进行编译,生成适用于机顶盒的中间代码,最后用机顶盒的图形库进行编译,生成目标代码。
如图2所示,首先开发人员在PC上进行GUI开发,运用的工具可以是QT、GTK、DirectFB等通用的图形开发软件。
然后将开发的代码交给编译模块,使用的是QT、GTK、DirectFB等库进行编译,编译模块进行解析,并分别用对应的GUI图形库进行编译,最终生成中间代码。
最后,将编译模块生成的中间代码交给GUI实现模块,通过加载机顶盒图形库,生成能运行于机顶盒的应用程序,交给底层的机顶盒操作系统进行处理。
为进一步说明本发明的工作原理,现结合图3编译模块示意图进一步的进行说明。
如图3所示,左边方框为预处理器模块,作用是通过代入预定义等程序段将源程序补充完整,其中使用到的库文件为QT、GTK、DirectFB等对应的库。
中间方框为编译器前端,前端主要负责解析(parse)输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’(Token)找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句,函数等等。例如“a = b + c;”前端语法分析器看到的是“a, =, b , +, c;”,语意分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。前端还负责语义(semantic checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstract syntax tree,或 AST),这样后端可以在此基础上进一步优化,处理。
右边的方框为编译器后端,编译器后端主要负责分析,优化中间代码(Intermediate representation)以及生成机器代码(Code Generation)。一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内(intraprocedural)还是函数之间(interprocedural)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。
综上所述:本发明实施例将通用GUI开发编译成适用于机顶盒GUI开发的方式,使开发人员可以在PC机上进行QT、GTK等强大的图形开发库开发,然后通过编译软件,将在PC机上开发的图形开发代码编译成适用于机顶盒的GUI应用程序,大大提高了GUI的竞争力,并将有利于机顶盒GUI开发的发展,提高产品竞争力。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种通用GUI开发编译处理方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种通用GUI开发编译处理方法,其特征在于,包括:
在系统中设置底层GUI实现模块、编译模块、图形开发模块;
GUI图形开发模块根据开发人员在PC机上运用的图形开发库,生成相应代码,交给下层编译模块进行处理;
编译模块,处理上层GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层底层GUI实现模块进行处理;
底层GUI实现模块处理上层编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片操作,并生成GUI应用程序,交给下层的机顶盒操作系统进行处理。
2.根据权利要求1所述的通用GUI开发编译处理方法,其特征在于:
所述编译模块设置预处理器模块、编译器前端、编译器后端;
预处理器模块通过代入预定义等程序段将源程序补充完整;
编译器前端负责解析输入的源代码,由语法分析器和语意分析器协同工作;
编译器后端负责分析,优化中间代码以及生成机器代码。
3.一种通用GUI开发编译处理系统,其特征在于,包括:
底层GUI实现模块、编译模块、图形开发模块;
GUI图形开发模块,用于根据开发人员在PC机上运用的图形开发库,生成相应代码,交给下层编译模块进行处理;
编译模块,用于处理上层GUI图形开发模块生成的代码,同时进行语法、语义分析,并生成可在机顶盒上运行的中间代码,交给下层底层GUI实现模块进行处理;
底层GUI实现模块,用于处理上层编译模块生成的可运行于机顶盒的中间代码,实现画图、解压图片操作,并生成GUI应用程序,交给下层的机顶盒操作系统进行处理。
4.根据权利要求3所述的通用GUI开发编译处理系统,其特征在于:
所述编译模块包括预处理器模块、编译器前端、编译器后端;
所述预处理器模块,用于通过代入预定义等程序段将源程序补充完整;
所述编译器前端,用于负责解析输入的源代码,由语法分析器和语意分析器协同工作;
所述编译器后端,用于负责分析,优化中间代码以及生成机器代码。 
CN2011100542798A 2011-03-08 2011-03-08 一种通用gui开发编译处理方法及系统 Pending CN102135898A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100542798A CN102135898A (zh) 2011-03-08 2011-03-08 一种通用gui开发编译处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100542798A CN102135898A (zh) 2011-03-08 2011-03-08 一种通用gui开发编译处理方法及系统

Publications (1)

Publication Number Publication Date
CN102135898A true CN102135898A (zh) 2011-07-27

Family

ID=44295691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100542798A Pending CN102135898A (zh) 2011-03-08 2011-03-08 一种通用gui开发编译处理方法及系统

Country Status (1)

Country Link
CN (1) CN102135898A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495749A (zh) * 2011-11-29 2012-06-13 珠海翔翼航空技术有限公司 一种将飞行规则转换成便于计算机执行的指令码的方法
CN103365641A (zh) * 2012-03-31 2013-10-23 国际商业机器公司 一种gui开发工具的设计方法和系统
CN103929536A (zh) * 2014-03-31 2014-07-16 广东明创软件科技有限公司 提高图片处理回显速度的方法及其移动终端
CN104954848A (zh) * 2015-05-12 2015-09-30 乐视致新电子科技(天津)有限公司 智能终端的显示图形用户界面的控制方法及装置
CN106250116A (zh) * 2016-07-21 2016-12-21 武汉精伦电气有限公司 一种软件通用框架代码生成方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963905A (zh) * 2010-09-17 2011-02-02 中山大学 一种将xml应用到机顶盒gui开发的方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963905A (zh) * 2010-09-17 2011-02-02 中山大学 一种将xml应用到机顶盒gui开发的方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495749A (zh) * 2011-11-29 2012-06-13 珠海翔翼航空技术有限公司 一种将飞行规则转换成便于计算机执行的指令码的方法
CN102495749B (zh) * 2011-11-29 2014-03-05 珠海翔翼航空技术有限公司 一种将飞行规则转换成便于计算机执行的指令码的方法
CN103365641A (zh) * 2012-03-31 2013-10-23 国际商业机器公司 一种gui开发工具的设计方法和系统
CN103365641B (zh) * 2012-03-31 2016-05-11 国际商业机器公司 一种gui开发工具的设计方法和系统
CN103929536A (zh) * 2014-03-31 2014-07-16 广东明创软件科技有限公司 提高图片处理回显速度的方法及其移动终端
CN104954848A (zh) * 2015-05-12 2015-09-30 乐视致新电子科技(天津)有限公司 智能终端的显示图形用户界面的控制方法及装置
CN106250116A (zh) * 2016-07-21 2016-12-21 武汉精伦电气有限公司 一种软件通用框架代码生成方法及系统
CN106250116B (zh) * 2016-07-21 2019-08-23 武汉精伦电气有限公司 一种软件通用框架代码生成方法及系统

Similar Documents

Publication Publication Date Title
Liao et al. Semantic-aware automatic parallelization of modern applications using high-level abstractions
CN102402451B (zh) 用户定义类型的编译时边界检查
US20100293534A1 (en) Use of vectorization instruction sets
CN102135898A (zh) 一种通用gui开发编译处理方法及系统
Da Rosa et al. Ket quantum programming
Zinenko et al. Clint: A direct manipulation tool for parallelizing compute-intensive program parts
Tian et al. Compiler transformation of nested loops for general purpose GPUs
Göhringer et al. An interactive tool based on polly for detection and parallelization of loops
Wilson et al. An overview of the SUIF compiler system
Shei et al. MATLAB parallelization through scalarization
Thomas et al. Automatic Generation of Vectorizing Compilers for Customizable Digital Signal Processors
Ernstsson Pattern-based programming abstractions for heterogeneous parallel computing
Yang et al. O2render: An opencl-to-renderscript translator for porting across various gpus or cpus
Tinnerholm et al. Towards introducing just-in-time compilation in a Modelica compiler
Kim et al. Terra: Imperative-symbolic co-execution of imperative deep learning programs
Ramsey Beyond relooper: recursive translation of unstructured control flow to structured control flow (functional pearl)
Unel et al. CutLang V2: towards a unified Analysis Description Language
Charrier et al. Geometric algebra enhanced precompiler for c++ and opencl
Quinlan et al. Annotating user-defined abstractions for optimization
Luszczek et al. High performance development for high end computing with Python Language Wrapper (PLW)
Bigot et al. Building and auto-tuning computing Kernels: experimenting with BOAST and StarPU in the GYSELA code
Takizawa et al. Xevolver for performance tuning of C programs
Schnetter Performance and optimization abstractions for large scale heterogeneous systems in the cactus/chemora framework
Ernstsson SkePU 2: language embedding and compiler support for flexible and type-safe skeleton programming
US20170249131A1 (en) Compilation apparatus and compiling method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110727