2009年事情太多,一直在折腾房子,终于赶在房价高涨之前弄到了自己中意的房子,接着是装修,搬家,孩子上幼儿园,几乎没有时间写点自己的感悟。

我一直在研究Squirrel语言,在国内应该算先行者了,但是Squirrel从未大规模的在项目中应用,大概9月吧,我决定将Squirrel引入我负责的一个项目,这个项目是一个复杂的GUI程序,用于实时显示天空中中国民航飞行器的位置和轨迹,这是一个很有挑战性的课题。

项目使用wxWidget,核心部分自然是C++的,为了快速开发界面,我尝试将wxWidget封装到Squirrel中,从入手开始,封装工作进行的很顺利,大约2000行C++代码,就将基本的wxWidget封装到了Squirrel中,关键是效率问题。

随后的实验让我非常满意,Squirrel执行的效率的确很高,我将绘制中国地图的功能交由Squirrel脚本执行(大概需要绘制10000段线),结果令人惊讶,使用过程中根本无法察觉是脚本画图比C++慢。另外一个现象是在Squirrel中,将绘图数据包含在代码中似乎执行速度比将绘图数据存储在数组中再从数组这读取绘制要快,也就是说,Squirrel虚拟机并不是解释执行,而是编译过程中形成伪码,然后再执行,因此直接脚本执行代码要更快。

封装的wxWidget的Form和Widget在Squirrel上也运行很好,我已经将全部Form改成Squirrel脚本,在这个项目中,Squirrel脚本的长度超过了1000行,算是一个较大的Squirrel应用了。

成功的在项目中使用Squirrel相关推荐

  1. 声光报警器 | 在软件开发项目中加入声光告警、语音通知方案

    在IT软件开发项目中,有的客户有这样的需求,希望在公司的生产环境中安装硬件设备,比如声光报警灯.语音通知设备等.当软件中的某些重要信息或者异常事件发生时,向设备发送消息,通过警示音.灯光.语音三个维度 ...

  2. 【SpringBoot】Spring项目中value注解,@Value不能够读取到配置文件的值,无法成功注入值的问题汇总及解决

    Spring项目中value注解,@Value不能够读取到配置文件的值,无法成功注入值的问题汇总及解决 @Value注解 常规用法示例 我们都知道通过@Value()注解可以取到我们配置文件的内容,之 ...

  3. 项目中成功的运用proxool连接池

    最近做的一个项目中运用到了连接池技术,可能我们大家比较熟悉的开源连接池有dbcp,c3p0,proxool.对这三种连接池来说,从性能和出错率来说,proxool稍微比前两种好些.今天我主要简单的讲述 ...

  4. 通用权限管理系统组件 (GPM - General Permissions Manager) 在跨国直销企业电子商务项目中的成功应用...

    我所在是一家跨国家直销公司,在亚太某国家电子商务项目中,2011年底系统全面应用了通用权限数据访问层类库及工具类库,支持了每月万级会员加入.千万级订单:同时,在我们的项目开发过程中,完全由外包工程师来 ...

  5. java fragment_Java Web Fragment在项目中使用方法详解

    Web Fragment 是什么 - 它是在 servlet 3.0开始支持的,可以把一个dy web项目拆分为多个项目,解耦合,使其在项目中开发效率提高,下面我演示简单的项目创建过程 用eclips ...

  6. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  7. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

  8. 黑科技:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!

    来源 | 学术头条(ID:SciTouTiao) 头图 | CSDN付费下载自视觉中国 对于全球 5000 多万盲人来说,重见光明是一个遥不可及的梦想.而为了与盲人朋友进行交互,我们发明了盲文,用各种 ...

  9. Django项目准备和配置(MVT图解、创建项目和应用、更换解释器、安装应用、本地化、模板路径、项目中匹配urls、应用中匹配urls.py、准备视图、开启服务器、修改DATABAS配置信息)

    Django模型主要包含: 模型配置 数据的增删改 增:book = BookInfo() book.save() 和BookInfo.objects.create() 删:book.delete() ...

最新文章

  1. arm服务器配置信息,ARM板 web服务器交叉编译及配置
  2. 【c语言】蓝桥杯算法提高 征税程序
  3. ubuntu mysql配置教程视频_ubuntu16.04安装配置mysql数据库,分割视频为帧图像
  4. Php传图缩图,使用以下用于上传图像的PHP代码上传时缩小图像大小
  5. webpack源码分析(2)---- webpack\bin\webpack.js
  6. 2008年.Net编程人员工具参照
  7. greenplum配置高可用_0665-6.2.0-如何在CDH中配置HMS高可用
  8. Jenkins 在Windows下插件无法安装问题解决
  9. 阿里云如何打破Oracle迁移上云的壁垒
  10. 倾斜摄影三维模型OSGB格式简化(压缩、优化)
  11. 嵩天python笔记_嵩天Python学习笔记
  12. win10初始化mysql出现失败怎么办_win10初始化电脑出现问题未进行任何更改怎么办...
  13. java开发随记之 Invalidate Caches / Restart
  14. windows10打开natapp.exe 报Error: oppen NUL: The system cannot find the file specified.
  15. 仿微信图片编辑软件,涂鸦、裁剪、添加文本等常规操作
  16. aws lambda_借助AWS Elastic Beanstalk轻松进行Spring Boot部署
  17. 微信小程序开发一个小型商城(八、个人页面)
  18. git push 失败,提示:error: RPC failed; HTTP 411 curl 22 The requested URL returned error: 411
  19. C语言—整除问题、求余、赋值、逻辑运算符易错点
  20. 将SkeyeVSS综合安防监控视频流媒体云平台监控画面嵌入微信公众号进行直播

热门文章

  1. Linux 文件系统原理 / 虚拟文件系统VFS
  2. OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比
  3. 嵌入式开发要学习哪些知识
  4. android EditText 属性介绍
  5. PPT基础(二十二)裁剪图片
  6. Word中插入PDF
  7. win10修改账户名称
  8. okhttp3 Response.body().toString()
  9. bp神经网络和cnn神经网络,bp神经网络和神经网络
  10. 代码服务流水线部署平台