Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
laishikai edited this page Oct 7, 2021 · 35 revisions

Fast C Script

简介

这是一个基于C++, C#简单语法的动态解释语言。目的在于提供一个简单高效,语法灵活的动态解释语言。 它专为游戏开发而生, 是为LUA的替换方案而生。

优势

  1. 内核简单小巧,跨平台,可用于小型嵌入式设备。
  2. 语法完整,支持C#与C++的基本语法,这个是lua没有的。
  3. 支持所有的C,C++原生数据类型, 更省内存。
  4. 支持所有的C,C++操作运算符。
  5. 支持utf8, utf16的字符串类型,字符串组合效率更高。
  6. 支持数组, List模板, 可扩容,接口丰富。
  7. 支持有序的hash_map模板, 迭代遍历时删除或添加容器的节点,不崩溃, 不影响遍历操作。 该容器可以有序插入,指定位置插入,元素按插入顺序有序。
  8. 精确的内存回收,无C#、 Lua那样的延迟GC导致的卡顿问题。
  9. 支持class, 支持对象的构造函数与析构函数, 自动内存托管,用户无需担心内存泄露问题。
  10. 支持作用域,支持同名变量覆盖, 对象自动管理,出作用域后自动释放。
  11. 支持高效的switch, case 开销不会与case数量线性增长,常数级性能。
  12. 支持静态编译优化, 如常数优化。
  13. 支持inline优化, 可以大幅减少函数调用开销。
  14. String不为NULL, 总是有效,避免各种null 检测。 并有比C#的String还有丰富高效的接口
  15. 高效的消息反射与xml反射,有它了,不再需要protocol buffer。xml反射功能,比C#的还要强大高效
  16. 支持内置的图形对象,如Vector2, Vector3, Vector4, Panel, Ray, Matrix, Color, Color32等。
  17. 与C#等其他平台互调更安全,更高效,不用担心内存泄露的问题。
  18. C#wrap对象可与脚本对象同步释放,无需定时检测释放。
  19. 支持Json内置读写操作,性能数倍于json.net与LitJson。
  20. 支持协程,支持异步编程await
  21. 默认支持Protobuf 3.0,可修改导出插件扩展
  22. 支持系统广播批量调用函数,适合框架解耦
  23. 内置二维表格对象FCExcel,高效,省内存,超高速加载,比Protobuf还省内存

语法简介

我要了解

性能对比

性能测试对比

Unity工程示例

  1. 01_Helloworld快速入门的例子
  2. 02_U3DScripting展示脚本与MonoBehaviour的交互
  3. 03_Json展示Json的读写与LitJson,Json.net的性能对比
  4. 04_Xml展示Xml的读写
  5. 05_coroutine展示协程的使用与C#中的委托与脚本的交互–(代码)
  6. 06_msg展示C#传二进制消息流给脚本解析
  7. 08_await展示Await异步调用–(代码)
  8. 09_protobuf展示protobuf协议–(代码)
  9. Profiler展示脚本的12个性能测试用例
  10. Demo展示脚本自身语法对象的应用
  11. VS脚本工程展示使用VS工具编写脚本代码,带语法提示的
  12. 系统广播工程展示系统广播功能
  13. Excel示例展示Excel的使用导表工具

GitHub

GitHub地址

QQ交流群

894840241 入群答案:游戏开发

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /