Visual Studio и Makefile

145
11 июля 2018, 23:50

Надо было тестово собрать один проект под VS для проверки совместимости кода, в общем все собирается, но выдает следующее:

warning C4530: Использован обработчик исключений C++, но семантика уничтожения объектов не включена. Задайте параметр /EHsc

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

Answer 1

Как и говорит предупреждение, компилируется C++ код с обработчиками исключений, но ключ /EH не указан. Если верить документации, то в данном случае объекты с автоматическим временем хранения, созданные в функциях вызываемых внутри блока try могут не уничтожиться корректно, о чём компилятор и сообщает.

Как описано в справке, ключ /EHsc устанавливает режим обработки исключений:

  • s указывает, что следует обрабатывать только исключения C++, но не SE (см. далее).
  • c указывает, что функции объявленные как extern C не могут выкинуть исключения C++, в связи с этим компилятор вправе применить некоторую оптимизацию накладных расходов.
  • Также возможно указание параметра a (вместо sc), при котором обычный блок catch(...) помимо обычных исключений C++ будет ловить и структурированные исключения (structured exception), которые обычно отлавливаются внутри непереносимых блоков __try/__except.
READ ALSO
Проблема с выводом c++ (sort, copy)

Проблема с выводом c++ (sort, copy)

Проблема с copyВ "Task 1" все работает, но в "Task 2" после выполнения sort выводит только название группы и ссылается на

162
Spring Failed to start component

Spring Failed to start component

Начал изучать спринг, создал с помощью инициализатора проект и ввёл в него код-пример с этого сайтаВ итоге в проекте есть один класс:

247
Как правильно назвать классы в терминах MVC/MVP/MVVM/MVPVM?

Как правильно назвать классы в терминах MVC/MVP/MVVM/MVPVM?

В процессе изучения различных вариантов организации кода для пользовательского интерфейса (MVC, MVP, MVVM, MVPVM и того, что этими названиями называют)...

287
Как узнать качество интернета на android?

Как узнать качество интернета на android?

У меня такой вопрос: Как можно узнать качество интернета на телефоне?

199