Only Chinese document is available.
EplOnCpp (EOC for short)
介绍
基于Cpp构建的Epl语言编译环境
用于支持x64程序编写及实现特殊功能
版本
版本编号:Build 20190406
版本类型:概念预览(Concept Preview)
缺乏较多库命令支持,几乎不可能用于实际工程
请勿将其使用在正式工程中,在未来的版本中,其行为可能与预览版有很大不同
开源许可证
项目 | 许可证 |
---|---|
EplOnCppCore | The MIT License |
EplOnCppGUI | The MIT License |
EocSystemEnv | The MIT License |
EocLib_krnln | The MIT License |
EocLib_EocHelper | The MIT License |
已知限制
用户使用指南
基本条件
安装配置
配置EOC系统环境
安装EocHelper库
安装EocHelper库可以使用一些EOC附加功能(通常用于跨平台)
使用
生成工程文件
编译
生成目录中将包含完整的cmake工程信息,请您使用cmake命令行自行编译
新版本的VS也包含了良好的cmake支持(需要安装),您可以在配置成功后,通过“在VS中打开文件夹”来浏览工程
XP支持
EOC不对XP系统提供主流支持,且任何对XP的有限支持都可能在未来的版本中移除
但由于VS2017仍然保留有限XP支持,您可以在cmake中使用参数-T v141_xp编译
为了更好的兼容性,您可以还需要使用VC-LTL等项目
库编写指南
请参照核心库的编写,正确编写C++代码、cmake配置文件config.cmake和库信息文件info.json
规范
命名
所有库命令应该放在命名空间e::lib::{LibName}下,其中{LibName}为库的英文名
自定义类型
所有自定义结构应该为智能指针类型e::system::struct_ptr
所有自定义类应该为智能指针类型e::system::object_ptr
info.json
库信息文件 CMakeName描述库在CMake配置文件中的名称,应与config.cmake中信息相匹配
Cmd/Type/Constant/Enum描述库提供的命令/类型/常量/枚举,其类型为Object【Key为中文名,Value为具体信息】
config.cmake
cmake配置文件
其应当正确配置库项目并定义{CMakeName}_FOUND/{CMakeName}_INCLUDE_DIRS/{CMakeName}_LIBRARIES,其中{CMakeName}应与info.json中信息相匹配
SuperTemplate
用于实现某些特殊支持库,接口极不稳定,如非必要请避免使用
类型
中文名 | 类型名 |
---|---|
算术类型 | - |
字节型 | uint8_t |
短整数型 | int16_t |
整数型 | int32_t |
长整数型 | int64_t |
小数型 | float |
双精度小数型 | double |
平台整数 | intptr_t |
非算术基本类型 | - |
文本型 | e::system::string |
字节集 | e::system::bin |
日期时间型 | e::system::datetime |
子程序指针 | e::system::methodptr |
通用型 | e::system::any |
高级类型 | - |
数组(单维或多维) | e::system::array<*> |
自定义类型 | {CppName} |
注意事项