是否可以在编译之前立即将代码注入翻译单元

时间:2011-08-25 13:38:13

标签: c++ visual-c++ visual-c++-2008 visual-c++-2010

我使用MSVC ++ 2008和2010构建我的C ++代码库。是否有可能获得翻译单元,分析它,在必要时插入一些代码然后传递给编译过程?原始源代码不应受到影响。

当然,对于构建项目的开发人员来说,它应该是透明的。最后,它只会影响目标文件。 Visual Studio非常强大。我想,应该有一些插件API或钩子来做到这一点。请给我一个提示。

1 个答案:

答案 0 :(得分:0)

我不相信这是可能的,因为你描述它,虽然我不确定。这肯定是不平凡的。我想到的唯一类似的项目是OpenMP,但我的印象是微软是实现其版本的人。

我可以看到Cheetah这样的模板引擎已经足够了。你可能会放弃你的花里胡哨,如代码完成和intellisense。

基本上,您可以设置文件以使用自定义编译器在另一个文件中生成新代码。然后,C ++编译器将编译生成的文件。坦率地说,我认为使用它不会优雅或令人愉快。

我已经使用CMake做类似的事情,虽然我没有把它作为一般工具。我为一些内容生成写了一个。

如果你真的描述了你想做什么的一些具体细节,我们可以提供更好的解决方案。