CMake создают режим RelWithDebInfo

и затем проверяет, те против допустимых символов допускали имя (нет никакой дальнейшей проверки, которая может быть сделана на этой части)

, Это не верно. Например, "ben..doom@gmail.com" содержит только допустимые символы в разделе имени, но не действителен.

На языках, которые не имеют библиотек для почтовой проверки, я обычно использую regex becasue

  1. , я знаю regex и нахожу его простым в использовании
  2. , у меня есть многие друзья, которые знают regex, и я могу сотрудничать с
  3. , Это быстро для меня для кодирования, и меня разовый является более дорогим, чем процессорное время для большинства приложений
  4. Для большинства адресов электронной почты, это работает.

я уверен, что многие встроенные библиотеки действительно используют Ваш подход, и если Вы хотите покрыть все возможности, это действительно становится смешным. Однако так делает Ваш синтаксический анализатор. Формальная спецификация для адресов электронной почты нелепо сложна. Так, мы используем regex, который рядом достаточно.

15
задан jww 19 December 2018 в 02:36
поделиться

4 ответа

Я что-то упускаю или нет имеет смысл скомпилировать весь код выпуска как RelWithDebInfo?

Это зависит от того, насколько вы доверяете своему клиенту отладочную информацию.

Дополнительная информация:

gcc кодирует отладочную информацию в объектный код.

Вот эквивалент в pdb для gcc:

Как сгенерировать символ отладки gcc вне целевой сборки?

Обратите внимание, что cmake не поддерживает этот подход из коробки.

6
ответ дан 1 December 2019 в 01:53
поделиться

Насколько я понимаю, доставка кода клиентам без хранения соответствующих отладочных символов внутри компании - это рецепт потери волос, когда дело доходит до отладки производственных проблем.

Отладка. Отладочные сборки с отладочными символами редко отличаются от отладочных отладочных сборок, поэтому я рекомендую всегда делать это.

Тем не менее, я не знаю, есть ли какие-либо недостатки. Было бы интересно услышать, если так.

19
ответ дан 1 December 2019 в 01:53
поделиться

После того, как вы попытались отладить оптимизированную сборку выпуска, вы поймете, почему это то, что вы хотите делать, только когда нет другого выхода.

В основном, я вижу два случая, когда вам это понадобится:

  • У вас есть проблема, которая не проявляется в отладочных сборках, поэтому вам нужно отладить сборку выпуска.
  • У вас сбой у клиентов и используйте локально сохраненную информацию об отладке, чтобы понять сбой.

Не знаю, как вы, но мне приходилось отлаживать код выпуска дважды или трижды за последнее десятилетие, и мне удалось поработать в компаниях, где сбои у клиентов не были проблемой.

Да, вероятно, неплохо было бы иметь отладочную информацию для ваших релизных сборок, но VS не настраивает все таким образом, и для двух случаев в каждом десятилетии, когда вам это нужно, не стоит устанавливать это вручную каждый раз. Поскольку CMake предоставляет это бесплатно, сделайте это.

5
ответ дан 1 December 2019 в 01:53
поделиться

Производственный код не нуждается в увеличении размера, которое несет отладочная информация.

2
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

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