
Сообщение от
Oleg N. Cher
А чего с ней не так?
А то с ней не так, что когда я пишу глобальную или статическую переменную - то она должна сразу инициализировться в секции _DATA
Вместо этого - генерится огромный код, который инитит эту переменную. Дикость и глупость.
В ассемблере генерит
Код:
.area _DATA
_a::
.ds 1
.area _GSINIT
;cls.c:4: char a=2;
ld iy,#_a
ld 0 (iy),#0x02
Чо - руки отвалятся написать сразу
Код:
.area _DATA
_a::
.db 2
Экономия - время инициализации и куча памяти. Руки бы пооборвал...
---------- Post added at 06:41 ---------- Previous post was at 06:38 ----------

Сообщение от
Eltaron
Так обычно секция .bss себя ведет.
Не. В секцию .bss помещаются неинициализированные данные. Которые по стандарту С забиваются нулём.
Но то, что вместо констант в секции .data генерится код - согласен - идиотизм...