Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
А чего с ней не так?

А то с ней не так, что когда я пишу глобальную или статическую переменную - то она должна сразу инициализировться в секции _DATA

Вместо этого - генерится огромный код, который инитит эту переменную. Дикость и глупость.


Код:
char a=2;
В ассемблере генерит


Код:
.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 генерится код - согласен - идиотизм...