Вам лучше использовать make
. Таким образом, если ваш источник не изменился, компиляция будет пропущена, поэтому объектные файлы не будут изменены.
Редактировать: после некоторого размышления можно обратиться к вашему комментарию с помощью make-файла, который разделяет предварительную обработку и фактическую компиляцию. и некоторые подвохи.
Пример makefile:
all: source
source: source.i.cpp
@cmp -s source.i.cpp source.i.prev || g++ source.i.cpp -o source
@touch source
@cp source.i.cpp source.i.prev
source.i.cpp: source.cpp
@g++ -E source.cpp >source.i.cpp
Обратите внимание, что время выполнения исполняемого файла изменено, а содержимое - нет (если вы изменили только комментарии, а не фактический код).