Я только что узнал дорогой способ (т.е. потерпеть неудачу в производстве), чтоКак мне получить неудавшееся утверждение для возврата ненулевого кода выхода?
assert_options(ASSERT_BAIL, true);
assert(false);
завершает выполнение без выдачи код выхода ненулевых. Где смысл в том, что добро знает только.
Как мне исправить это? РЕДАКТИРОВАТЬ: Если иное не влияет на выход, например, через ASSERT_CALLBACK подавление предупреждения.
set_error_handler, полагающийся на Assert(), выдающий предупреждение? Какой-то вариант я не нашел?
Спасибо, но это также подавляет предупреждение. Без: http://i.imgur.com/aclJyXf.png С: http://i.imgur.com/H5LLeR2.png. Я обновил свой вопрос, чтобы уточнить, что код выхода является единственным, что я хочу изменить. – ChrisJJ
assert возвращает логическое значение 'if (assert (false) == false) exit (-1);' будет делать предупреждение и возвращать 255, не забудьте удалить assert_bail. – cpatricio
Вы предлагаете установить код выхода, вручную добавив exit() для каждого вызова assert? – ChrisJJ