Как gcc реализует стек, разворачивающий для исключений C++ на Linux?

Что касается первого результата, причина, по которой вы получили 2 ошибки:

  1. Вы забыли определить first в своей консоли, я думаю, что вы пытались вызвать a.first вместо
  2. Вы пытались вызвать User.rand_age, но это мгновенный метод, а не метод класса, поэтому вы не можете вызвать его таким образом.

Что касается второго результата, он немного отличается от первого результата. Вы использовали мгновенные методы (User.new.first и User.new.rand_age) вместо использования метода класса, так что да, ваш код работает.

18
задан Geoffrey Irving 17 September 2008 в 20:23
поделиться

2 ответа

Хотя это надеется быть для Itanium, по-видимому, реализация подобна для x86: обработка исключений ABI

2
ответ дан 30 November 2019 в 09:15
поделиться

Нет большого количества в настоящее время доступной документации, однако базовая система - то, что GCC переводит блоки попытки/выгоды в вызовы функции и затем ссылки в библиотеке с необходимой поддержкой во время выполнения (, документация о древовидных строительных нормах и правилах включает оператор "выдача исключения, непосредственно не представлен в GIMPLE, так как это реализовано путем вызывания функции").

, К сожалению, я не знаком с этими функциями и не могу сказать Вам, что посмотреть на (кроме источника для libgcc - который включает время выполнения обработки исключений).

существует" Обработка исключений для Новичков " доступный документ.

2
ответ дан 30 November 2019 в 09:15
поделиться
Другие вопросы по тегам:

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