把C++当脚本语言写!
作者:网络转载 发布时间:[ 2013/4/22 11:33:45 ] 推荐标签:
对于致命的错误,宿主记录下dump文件是非常重要的,方便调试。
不过出于简单,本例的宿主是用VB写的,也无法在调用前使用__try{}进行SEH捕捉。如果宿主也是C++实现的话,则尽可能捕捉dll内的异常。
开发环境
有别于脚本语言,C++本身是用于大型程序的开发,所以开发环境是非常完善的。
但作为一个脚本,往往都是单个的文本文件,而不是一个项目组。任何版本的VC编辑单个cpp文件,和编辑纯文本文件几乎没有区别。因此我们事先得建立一个模板项目,将需要编辑的cpp移到此项目内开发,这样才会有下拉框智能提示等功能。
不过既然选择它作为脚本来使用,那应该用来处理一些简单的,经常变更的逻辑事务。对于复杂的脚本程序,还不如直接写在宿主里面了。
事实上,“程序”和“脚本”之间从没一条固定的界限。用纯粹的程序也可以写一个复杂的游戏故事情节,用纯粹的脚本也可以开发一个大型项目。只不过太过死板,或太过灵活,都会增加额外的工作量。
总结
与其称之为C++脚本,倒不如说是插件———可以根据需求,动态产生指令的插件。
虽然可以玩转出一些脚本的特征,然而C++终究是门严格的语言。相比脚本的灵活性,C++固然更为严谨和死板。当然,凭借强大的宏、模版、运算符重载,我们可以充分扩展,为脚本提供丰富多样的特征和语法糖。
当然,它的优势也是显而易见的:性能超高,交互简单。并且完全支持C++的特性。
事实上,不仅仅是C++,任何一门高级语言都可以当“脚本”使用,只要调用它们的编译器即可。如果喜欢C#,或者Java风格,只需稍作修改可以。
--------------------------------------------------------------------------------
为了简单演示,本例使用VB写了个简单的宿主程序,包括基本的编译,链接,加载,语法检查功能。
宿主提供了一个叫“Print”的接口,可以输出字符串。要实现更多接口和扩展功能,修改cl文件夹内的T.h即可。
其中有一个DLLTmpl的工程,没有任何用处,仅仅为了生成一个.pch预编译头文件而已。如果想在脚本里使用更多的头文件,得在StdAfx.h内添加。编译之后的release/MyDll.pch复制到cl文件夹,覆盖原有的即可。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11