Обнаружьте остановку с драгоценным камнем Демонов Ruby

Похоже, что при размере массива не может превышать размер unsigned int.

Это, кажется, имеет место в вашей конкретной реализации C [++] .

Я прав? Является ли это специфичным для gcc или является частью какого-либо стандарта C или C ++?

Он не является характеристикой GCC в целом и не определяется ни стандартом C, ни C ++. Это характерная черта вашей конкретной реализации : версия GCC для вашей конкретной вычислительной платформы.

Стандарт C требует, чтобы выражение, обозначающее количество элементов массива, имело целочисленный тип, но оно не указывает конкретный тип. Мне кажется странным, что ваш GCC, кажется, утверждает, что он предоставляет вам массив с другим количеством элементов, чем вы указали. Я не думаю, что это соответствует стандарту, и я не думаю, что это имеет смысл как расширение. Я бы предпочел, чтобы вместо этого он отклонял код.

5
задан gregf 12 February 2009 в 19:32
поделиться

2 ответа

Смотря на код драгоценного камня демона, не похоже, что это имеет очевидную точку расширения с этой целью. Однако интересно, могли ли (в процессе daemonized) Вы захватить УНИЧТОЖИТЬ/НАЗВАТЬ сигнал, что демоны отправляют, когда 'остановка' происходит...?

trap("TERM") do
  # execute your extra code here
end

Кроме того, Вы могли установить рычаг at_exit:-

at_exit do
  # execute your extra code here
end
6
ответ дан 13 December 2019 в 05:43
поделиться

Rapleaf имел довольно хорошую статью об их блоге о расширении драгоценного камня Демонов, который мог бы быть тем, что Вы ищете.

4
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

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