обеспечение единого #defines среди всех объектных файлов

0

Как я могу гарантировать, что все объектные файлы в моем проекте C++ были скомпилированы с теми же условными определениями? Т.е. если они не были, я хочу, чтобы ошибка компоновщика указывала на противоречивое определение. Я хочу, чтобы это произошло даже с агрессивным уничтожением кода. Есть ли известная техника для этого?

Теги:
linker
c-preprocessor
configuration
conditional-compilation

1 ответ

0

Вы не можете; индивидуальные вызовы компилятора - это просто - независимые. Единственный способ убедиться в том, что этот результат состоит в том, чтобы иметь один общий источник всех определений, например, указанную в командной строке в вашем файле makefile или в общем файле заголовка.

  • 0
    Компиляции независимы, но когда все они связаны, разве нет способа вызвать ошибку компоновщика, если были использованы несовместимые флаги времени компиляции? Например, функция или переменная с заданным именем определяется по-разному в зависимости от флагов; но это идет вразрез с правилом единого определения ...
  • 0
    Если ошибка во время соединения невозможна, каков будет наименее подверженный ошибкам способ проверки во время выполнения этого при запуске?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню