Компилятор заставляет меня реализовать финализатор или деструктор в & hellip;

Определенная польза от использования многомерной сетки. Различные записи (tid, ctaid) являются переменными только для чтения, видимыми как специальные регистры. См. PTX ISA

PTX включает в себя ряд предопределенных переменных только для чтения, которые видны как специальные регистры и доступны через команды mov или cvt. Специальные регистры:

 %tid
 %ntid
 %laneid
 %warpid
 %nwarpid
 %ctaid
 %nctaid

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

0
задан jstuardo 15 January 2019 в 20:16
поделиться

1 ответ

Финализатор необходим для удаления неуправляемых ресурсов. Обычно вам не нужно реализовывать финализатор, если вы не владеете неуправляемыми ресурсами.

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

Если ваш класс реализует IDisposable, вы можете реализовать шаблон IDisposable, как описано здесь MSDN .

0
ответ дан Pier 15 January 2019 в 20:16
поделиться
Другие вопросы по тегам:

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