асме? Там или в .data храни не хочу свои переменные, или через [ebp-8] или как аргумент функции [ebp+4].
Вот правда, почитал и мне не понятно, как это использовать и нужно ли оно вообще. Будте добры, разъясните пожалуйста.
Дак тут всё то же самое, мелкомягкие только перегнули с тайпдефом и своим расширением, а в общем случае 4 спецификатора хранения по сути просто регулируют где твоя переменная хранится, какое у неё время жизни и какой скоуп, аналогично и в асме ты переменную можешь хранить в дате, можешь на стеке, также у переменной есть скоуп, его ты можешь изменять с помощью директивы globl, к примеру, ну со стеком и его скоупом и так всё понятно, регистр в общем случае также нативно понятно (другое дело, что в си это рекомендация, но для программиста в любом случае создаётся абстракция, что переменная в регистре)
Благодарю. Имхо лишняя абстракция вводит в заблуждение программиста и приведет к ошибкам. Лучше бы программист С знал бы, как оно там на самом деле работает в процессоре памяти и регистрах. Проще и нагляднее что-ли.
Ну для этого есть асм вставки, так что в си можно всё что угодно)
Нет. Я не это имел ввиду. Не "Сшный программист углубился и применяет сам вставки при необходимости". Я имел ввиду "желающий стать Сным программистом исходно сперва учит асм, работает в нем, понимает что-куда-как, а уже потом учитывает эти знания при написателтстве на С"
Я думаю, что системный программист пишет на асме, а прикладной на си.
Обсуждают сегодня