易语言支持库模版编写教程分享
需积分: 37 108 浏览量
更新于2024-12-20
收藏 60KB ZIP 举报
资源摘要信息:"易语言编写支持库超简单模版分享-易语言"
易语言是一种中文编程语言,它提供了丰富的支持库,以便开发者能够快速开发各种应用程序。本文档分享了易语言编写支持库的简单模版,并对支持库机制、命令调用、易源码结构、模版说明、静态库、支持库选择理由以及易功能函数等知识点进行详细阐述。
1. 易支持库机制
易支持库是易语言的核心,其中包含库信息和命令信息等重要数据,这些数据都存储在特定的结构中。易语言通过GetNewInf()函数获取支持库信息。所有自定义数据类型、类模块、组件等都被视为支持库中的库定义数据类型。因此,易语言开发者在设计支持库时,必须确保其导出GetNewInf()函数。
2. 支持库命令调用
支持库的命令调用方式较为特殊,每个命令都需要三个参数:返回值指针、参数数目、参数信息指针。这要求开发者在定义库数据类型的方法时,第一个参数必须是指向该对象的结构指针。这种机制使得命令调用非常灵活和强大。
3. 简单说下易源码
易语言在保存源码时,并不保存各信息名称(例如命令名、数据类型名),而是保存了它们对应的索引。这使得支持库内的信息在必要时可以进行修改,但必须保持它们的顺序不变。否则,可能导致早期版本源码出现问题。
4. 模版说明
本模版旨在提供清晰的思路和简便的代码结构,使得即使编程新手也能够理解和使用。模版中的参数多数使用通用类型,简化了支持库的编写过程。模版中未包含组件开发的部分,但提供了一些基本的操作演示,涵盖了一些常规功能。如果开发者有意开发组件,可以参考e\sdk\cpp\samples\HtmlView中的代码来实现。
5. 关于静态库
作者目前只完成了动态库的开发,而不推荐静态库,这背后有许多原因。静态库可能会误报,且从动态库转换到静态库可能会遇到一些未知问题。建议使用独立编译,特别是5.3版本之后已经恢复。同时,也可以使用黑月Cool编译器。此外,作者也提供了静态连接名的录入机制。
6. 为何选择支持库
尽管使用模块扩展程序也是可行的,但支持库在安全性和功能上具有优势。支持库可以提供许多模块无法实现的功能,因此选择支持库是相对安全且功能强大的选择。
7. 关于易功能函数
易功能函数是易语言内部提供给支持库使用的函数。主要用法可参考lib2.h头文件(位于e\sdk\cpp\elib\lib.h)。虽然这是一个C++头文件,但只要语文水平足够理解,便不难掌握。作者将一些常用的函数写入了类_易功能类中,供开发者参考。
【最后】
本文档的作者是SalHe,属于Rabbit Group。声明中提到,这只是一个针对初学者的简单模版,作者自认为是编程菜鸟,希望各位大神不要过于苛责。
【信息】
本模版是易支持库模版,作者为SalHe,发布于2014年11月8日。若需要编译,只需将文件名后缀改为fne,并放置在易语言的支持库目录下。一旦支持库发布后,就不要再修改数字签名和支持库文件名了。
文件名称列表包含了以下文件:
- 2014年11月8日(文档发布日期)
- efne.e(动态库文件,包含扩展功能的易语言模块)
- 支持库测试.e(测试支持库功能的易语言项目文件)
- test.fne(测试用的支持库文件)
通过这些信息,易语言开发者可以对编写支持库的模版有更深入的了解,并能够利用本模版快速构建自己的易语言支持库。
2021-06-25 上传
2020-07-18 上传
2021-06-12 上传
2021-06-25 上传
2021-06-25 上传
2021-06-13 上传
2021-06-30 上传
2022-06-03 上传
2021-06-13 上传
weixin_38713586
- 粉丝: 3
- 资源: 933
最新资源
- bingyan-summer-camp2018:2018冰岩程序组夏令营
- workBench所需Jar包.zip
- navmesh:一个用于使用navmeshes在JS中进行路径查找的插件,其中包含Phaser 3和Phaser 2的包装
- CI-Setup
- 我的引导项目
- ignite-desafio01-trilha--reactjs
- mysql代码-我的mysql练习
- WeatherApp:使用开放式天气地图服务显示用户所选邮政编码的天气预报的Android应用。 使用主细节流程来支持平板电脑和手机。 实现通过其访问数据的ContentProvider
- java学生成绩管理系统 初学者.zip
- CIS4930:Web Dev Frameworks课程工作于2021年Spring
- GoogleCloudVisionOCR:有关如何使用Python 3 + Google Cloud Vision API完成OCR的示例
- mysql代码-面试题第二关
- UNQ-G14-TPIntegradorOBJ
- library_database:图书馆数据库
- google-spreadsheet-example:C#でAPIを使用してGoogleスプレッドシートにデータを书き込む
- commit4::video_game:2017年Game Off冠军