2.8 SWIG与自由
很遗憾,本章不是关于当前世界政治的遗憾状态的特别章节。了解SWIG的编程哲学(philosophy)是非常有用的:程序员是聪明的,工具不应该妨碍他们。正因如此,SWIG对你能干什么非常自由。事实上,如果你的目的是编写危险的程序,你可以使用SWIG"开枪自杀"。另一方面,这种自由可以让你从容面对复杂、不常用的C/C++应用。
具有讽刺意味的是,SWIG不仅提供了这种自由,而且还提供了保守的代码生成机制。其核心思想是,SWIG尽力提炼高级C++代码的,基于ANSI C编程机制,将它们变成小却定义明确的一组接口。正因如此,你会防线SWIG接口可以很容易和各种C/C++编译器节后,可用于各种平台上。同样,这是避免程序员介入的一个重要部分——开发人员最不想做的事情就是把时间花在调试一个依赖于不可移植或不可靠编程特性的工具的输出上。依赖一般是不兼容和问题的源泉,SWIG生成的代码不依赖第三方库。SWIG同时还避免在生成代码中引入对C++标准模板库的依赖。它只依赖标准C语言库。