Цитата(IgorKossak @ Oct 3 2006, 12:48)

В теме имелось в виду не то, кто чем и как занимается (компилятор или препроцессор), а как вычислить константу при помощи сложной формулы, содержащей функции, на С.
Так вот ответ - никак. Ибо вместо желаемой подстановки константного значения будет вызываться функция. В плане вычисления констант компилятор С достаточно беден. Это не FORTH, где такие вычисления возможны.
Варианты обходных манёвров здесь уже приводились.
Тем не менее спасибо всем. Мне было очень интересно узнать данные подробности. Это даёт некоторое понимание происходящего. Я уже понял что препроцессор просто подставляет (понятно из ошибок). Но мне кажется (хотя вопрос и риторический) что не правильно вставлять формулу в код программы, если её значение можно сразу вычислить на этапе компиляции. О какой после этого оптимизации можно говорить. По-моему где то читал, что всётаки какие-то из компиляторов так и поступают. А может мне приснилось.
Ну чтож, раз мы не можем повлиять на процесс, то надо принять его как должное.