背景
Gobject和它更低一级的类型系统,GType,通常被GTK+和GNOME库所适用用来提供一下功能
- 面向对象的基于C的API
- 自动绑定API到其他编译和解释编程语言
许多程序员习惯于使用仅编译语言或动态解释语言,并且不了解与跨语言互操作性相关的挑战。本简介旨在提供对这些挑战的深入了解,并简要介绍GLib选择的解决方案。
以下章节将详细介绍GType和GObject如何工作以及如何将它们用作C程序员。记住允许从其他解释语言访问C对象是主要的设计目标之一是有用的:这通常可以解释此库中存在的有时相当复杂的API和功能。
数据类型和编程
可以说编程语言只是一种创建数据类型和操作它们的方法。大多数语言提供了许多语言本机类型和一些基元,以基于这些基元类型创建更复杂的类型。
在C语言中,语言提供char,long, pointer等类型。在编译C代码期间,编译器将这些语言类型映射到编译器的目标体系结构机器类型。如果您正在使用C解释器(假设存在一个),则解释器(解释源代码并执行它的程序)在程序执行期间(或之前)将语言类型映射到目标机器的机器类型如果它使用Just In Time编译引擎,则执行。
Perl和Python是解释型语言,它们并不真正提供类似于C. Perl和Python程序员操作变量的类型定义。变量的类型仅在第一次赋值时或在第一次使用时决定强制类型的类型。变量。解释器还经常提供从一种类型到另一种类型的大量自动转换。例如,在Perl中,保存整数的变量可以自动转换为给定所需上下文的字符串:
my $tmp = 10;
print "this is an integer converted to a string:" . $tmp . "\n";
网友评论