Куда-DNDEBUG обычно прибывает из?

Каждое соединение TCP требует начального квитирования, прежде чем данные будут переданы. Кроме того, заголовок TCP содержит много издержек, предназначенных для различных сигналов и обнаружения доставки сообщений. Для обмена сообщениями будет, вероятно, достаточен UDP, приемлем ли маленький шанс отказа. Если получение должно быть проверено, TCP является Вашим наилучшим вариантом.

21
задан WilliamKF 10 December 2009 в 04:31
поделиться

3 ответа

Поскольку компилятор не может самостоятельно решить, когда добавлять определение NDEBUG, а когда нет, флаг всегда устанавливается либо в make-файле, либо в файле проекта (в зависимости от вашей системы сборки) .

17
ответ дан 29 November 2019 в 21:28
поделиться

На этот вопрос действительно сложно ответить, так как вы не указали систему сборки, которую используете. Если вы используете autoconf, то либо ожидается, что пользователь поместит -DNDEBUG в CPPFLAGS вручную (или, возможно, вы установили его из файла CONFIG_SITE, который был изменен), либо configure.ac может установить пользовательскую переменную для настройки NDEBUG , или configure.ac может вызывать AC_HEADER_ASSERT, и в этом случае добавление --disable-assert к вызову configure определит NDEBUG в config.h. Это может произойти разными способами.

8
ответ дан 29 November 2019 в 21:28
поделиться

По моему опыту, -DNDEBUG был передан вручную, то есть make-файлы были написаны таким образом, что флаг передается при сборке в режиме выпуска.

4
ответ дан 29 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: