于是可以简单的定义一个导出函数了:

function Test()
{
      // some code here
}

  是不是很有脚本的感觉呢:)

  语法检查

  一个用文本编辑器敲出来的代码,拼写错误是难免的。所以一个好的脚本引擎,会在运行前做一次全面的语法检查,事先排除明显的错误,而不是边解释边运行。

  C++是将其做到了极限,不仅能查出致命的错误,甚至不规范的代码也会有警告提示。这是非常值得的,一个小bug浪费的时间,足够几万次编译了。

  想要在我们的C++脚本里实现这个功能,其实是非常简单的。因为在调用cl.exe编译时,要是有编译错误会反馈出来。我们根据对应的错误行号,提示用户可以了。

 

  调试环境

  一个强大的脚本引擎,往往带有调试器。虽然编译器能够预先排除一些错误,但是逻辑上的错误只有在运行时才能出现。

  对于简单的脚本程序,这项功能似乎不那么重要。毕竟在调试状态下运行,性能会有所影响。

  在C++脚本里,我们可以通过宏来扩展调试功能,决定是否输出调试信息。不过对于异常错误,处理比较讲究了。

  由于我们终运行的是二进制dll模块,这和普通的脚本有着天壤之别。dll模块是和宿主共用一个进程的,所以一旦当dll内异常触发时,整个进程包括宿主一块进入调试状态了(系统装有开发环境的话)。如果错误过于严重,会导致整个进程的崩溃。这是个非常值得注意的地方,也是C++作脚本在权限上的隐患。所以尽可能少用指针特性,使用更安全的代码,让代码风险降到少。