Я бы хотел запустить компилятор Microsoft Visual Studio cl. exe
без вызова препроцессора. Это возможно? Я думал, что простая компиляция предварительно обработанного исходного кода (с использованием флага / c
) приведет к тому, что препроцессор не будет работать, но, видимо, это не так. Я провел небольшое тестирование. Вот небольшой исходный файл ( main.cpp
), который просто включает в себя некоторый код:
#include <iostream>
#include <string>
#include <windows.h>
Вот несколько различных вызовов компилятора и их время:
1: cl /c main.cpp ~1.02s 2: cl /EP main.cpp > main-preprocessed.cpp ~0.5s 3: cl /c main-preprocessed.cpp ~0.75s
Кажется, что компиляция предварительно обработанного исходного кода уже немного быстрее (препроцессору ничего не нужно делать). Однако разница между 1 и 2 предполагает, что фактическому компилятору и ассемблеру просто нужно немного больше 0,5 секунды. Таким образом, компиляция предварительно обработанного исходного кода (как это сделано на шаге 3) происходит немного медленнее, чем я ожидал.
Есть ли способ просто запустить компилятор и ассемблер, без вызова препроцессора? Меня интересуют решения для MSVC6 до MSVC10.