170 похожих чатов

Минутка бесполезных вопросов из любопытства Можно ли сделать так, чтобы const

поля класса при компиляции удалялись?
Тип, он же и так заменяет везде ссылки на это поле на его значение, зачем мне скомпилинное поле ещё?

12 ответов

13 просмотров

А чем тебе мешает наличие .field public static literal ? Оно не занимает память итд. По сути это чисто для рефлексии метаданные. Вот даже нашёл пруф I.8.6.1.2 Location signatures https://www.ecma-international.org/wp-content/uploads/ECMA-335_6th_edition_june_2012.pdf краткий ответ Нет. Так как это есть в спеке.

Andrew-Shurunov Автор вопроса
Peter Mazin
А чем тебе мешает наличие .field public static lit...

Просто любопытно было Но спасибо за хороший ответ

Они удалятся и вместо них адрес подставится. С чего ты решил что при компиляции они остаются?)

Andrew-Shurunov Автор вопроса
Andrey Filippov
Они удалятся и вместо них адрес подставится. С чег...

Класс остаётся, для рефлексий и подобного Я это проверил сначала, а выше мне и ссылку на стандарт кинули, где описывается это

Andrew-Shurunov Автор вопроса
Andrey Filippov
Класс останется без константы

Будет передаваться как адрес, но поле все равно останется

Andrew Shurunov
Будет передаваться как адрес, но поле все равно ос...

Где? using System; public class C { public const string Test = "test"; public void M() { Console.WriteLine(Test); } } ; Core CLR v5.0.321.7212 on x86 C..ctor() L0000: ret C.M() L0000: mov ecx, [0xf52ecf4] L0006: call System.Console.WriteLine(System.String) L000b: ret

можно, напиши свой weaver для fody, который удаляет все константы

Andrew-Shurunov Автор вопроса
Andrey Filippov
Где? using System; public class C { publi...

В IL есть. В асме вероятне его не будет, ведь нет нужды компилить этот класс

Andrew-Shurunov Автор вопроса
Nikita Tsukanov
можно, напиши свой weaver для fody, который удаляе...

Ну да, как вариант Если совсем уж запариться

Andrew Shurunov
В IL есть. В асме вероятне его не будет, ведь нет ...

Ну вот. Значит проблемы нет. И беспокоиться не надо

Andrey Filippov
Они удалятся и вместо них адрес подставится. С чег...

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

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта