我正在从Visual Studio生成预处理器输出(.i),但也希望进行实际构建。是否有一组标志既可以输出.i文件,又不会阻止编译器正常进行构建?
目前这只是C ++,但可能希望稍后在CUDA中使用它,所以更喜欢在Visual Studio中工作而不需要命令行的答案(除非它也适用于CUDA)。
这一点是为了节省进行项目所需的时间 - >属性 - >配置道具 - > C / C ++ - >预处理器 - >生成预处理文件是/否加重建。特别令我感到厌烦的是,预处理器必须运行两次,因此在第1部分中以某种方式生成.i文件然后在第2部分中编译该文件的解决方案没问题。
我正在使用的Visual Studio的确切版本是VS 2008 Express
答案 0 :(得分:2)
您可以添加自定义构建步骤或新目标,以便在构建代码后转储预处理,定义转储的预处理器输出是构建的。
答案 1 :(得分:0)
您可以创建一个自定义构建配置来进行预处理,然后定义批量构建,构建预处理版本,然后是实际编译/链接版本。
答案 2 :(得分:0)
使用开关/ P Example-cl / C sample.c
以上将生成一个具有相同名称的.I文件(sample.I)。现在编译.I文件,只需将.I文件重命名为.C,然后执行cl / c编译并生成目标文件。