1 适用范围
本文档适用于希望使用基于SylixOS进行Python扩展库开发的用户。
2 SylixOS Python简介
Python是一门面向对象的解释型的脚本语言,Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。
目前SylixOS支持的Python为3.6.4版本,支持绝大多数内建库,但并未移植扩展库。
3 SylixOS Python扩展库开发
可扩展性是Python的一大特色,Python的扩展库可以基于Python语言开发,也可通过C、JAVA等语言进行开发。
本文将介绍如何使用RealEvo-IDE开发C语言版本的SylixOS Python扩展库。C语言版本Python扩展库开发有以下两种方式。
3.1 基于python ctypes模块开发
SylixOS下的Python支持ctypes内建模块。此模块的CDLL方法会调用SylixOS操作系统的dlopen()函数,从而导入用户开发的C/C++动态库。
编写简单的动态库lib_demo,代码如程序清单 3.1所示。
程序清单 3.1 动态库demo
#include <stdio.h>
void lib_func (void)
{