C和C/C++语言配合,可以有许多种用法,比如:

1、在自己在程序中调用虚拟机,这样可以以脚本API的方式,把程序的基本功能(类或函数)开放给脚本,相当于扩展了标准虚拟机,实现了一个专有的脚本运行环境。程序启动后直接启动虚拟机,由脚本去控制整个程序的运行。这种方式是脚本驱动的。
它的好处是比较灵活,我们只需要实现底层API,调用流程和其它逻辑(不需要特别高效的部分)则在脚本中完成。

2、像魔兽世界游戏一样,初始化一个虚拟机,调用初始化脚本,在这里,脚本可以注册事件。当某个事件达到触发条件时,调用脚本代码去响应它。这种方式是程序驱动的,脚本以观察者方式运行。
这些脚本像是程序的plugins一样,程序按照编写者的要求运行,但其它人可以任意扩展。

3、以C/C++编写模块,供脚本程序调用。python中许多模块就是这样来实现的。
在这里,C/C++编写的模块仅仅是为了提高运行效率,或是包装现有的优秀C/C++库。

4、。。。

以上讲的是和C/C++配合使用的情况,实际上动态语言本身就能完成许多事情,不一定要和C/C++一起使用。

典型的缺点有:

1、容易被反编译和修改
所以许多程序以上面第2种方式来写。

2、运行效率较低
根据20-80原则,这个担忧是不必要的,我们完全可以把程序的10%-20%效率要求高的部分以C/C++来写,其它部分用脚本语言来实现。
posted on 2005-11-08 23:00 Stroy's BLOG 阅读(191) 评论(1)  编辑 收藏 引用 所属分类: 软件设计

FeedBack:
# re: About C++
2006-05-11 14:15 | http://58974469.qzone.qq.com
不懂!!  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2005年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

随笔分类

文章分类

相册

友情连接

最新评论

  • 1. re: 十一月的萧邦
  • 评论内容较长,点击标题查看
  • --云和山
  • 2. re: 2005/11/8
  • 哈哈。。。哎。。。感觉挺郁闷的。。。



    为什么在我们觉查时, 才后悔莫及呢?
  • --云和山
  • 3. re: 2005/11/9
  • 给老子一本 SQL 2003 让老子去看。。。贼。。。不是想让我挂吗?
  • --云和山
  • 4. re: 2005/11/11
  • 哈哈。。。恭喜发财啊。。。
  • --云和山
  • 5. re: 无聊的一天又过去了
  • 很后悔没好好珍惜 那段时间啊。。。老子电脑 破成P了。。。贼

    2天重装一次系统。。。还敢用吗?

    现在在努力啃《汇编》
  • --云和山