Как посторонние компилированные файлы компилируются, но предварительно обработанный файл нет? [дублировать]C++

Программы на C++. Форум разработчиков
Anonymous
Как посторонние компилированные файлы компилируются, но предварительно обработанный файл нет? [дублировать]

Сообщение Anonymous »

ниже - "main.cpp". Это не компилируется. < /P>
Я могу запустить препроцессор на нем

Код: Выделить всё

g++ -E main.cpp -o result.cpp
и получить новый файл .cpp.
Если я затем скомпилируюсь result.cpp как этот g ++ result.cpp -o a.out , что работает! И все же это не компилируется. Это противоречит тому, что я думал, я знаю о препроцессоре. Как проверка синтаксиса применяется к промежуточным этапам генерации result.cpp? < /P>

Код: Выделить всё

#define XXX R
#define HtmlStart XXX"HTML(

static const char* str = HtmlStart(
#include "Index.html"
)HTML";

#include 

int main (int, char **)
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79589152/how-is-it-that-postprocessed-file-compiles-but-preprocessed-file-does-not[/url]

Вернуться в «C++»