Карта памяти показывает пространство, выделенное для загадочных переменных _powers_ и _npowers_

Я искал карту памяти для своего кода (написанного на c и скомпилированного компилятором XC16), и вижу значительное пространство, выделенное для полномочий, npowers и dpowers в сегменте.data.

Кто-нибудь знает, для чего используется это распределение?

Мой код использует библиотеку с плавающей точкой, а также printf / scanf - может ли это быть рабочим пространством для этих функций?

Вот два фрагмента из файла карты:

section                    address      alignment gaps    total length  (dec)
-------                    -------      --------------    -------------------
...
.data._powers_              0x20b2                   0            0xb0  (176)
.data._npowers_             0x2162                   0            0xb0  (176)
.data.dpowers               0x2212                   0           0x140  (320)

...а также...

.data._powers_      0x20b2         0xb0
.data._powers_
                    0x20b2         0xb0 c:/program files (x86)/microchip/xc16/v1.24/bin/bin/../../lib\libc-coff.a(powers.epo)
                    0x20b2                  _powers_

.data._npowers_
                    0x2162         0xb0
.data._npowers_
                    0x2162         0xb0 c:/program files (x86)/microchip/xc16/v1.24/bin/bin/../../lib\libc-coff.a(powers.epo)
                    0x2162                  _npowers_

.data.dpowers       0x2212        0x140
.data.dpowers      0x2212         0xa0 c:/program files (x86)/microchip/xc16/v1.24/bin/bin/../../lib\libc-coff.a(doprnt_cdfFnopsuxX.EPo)
.data.dpowers      0x22b2         0xa0 c:/program files (x86)/microchip/xc16/v1.24/bin/bin/../../lib\libc-coff.a(doprnt.epo)

1 ответ

Решение

Вам нужно было бы взглянуть на источник версии libc, чтобы получить категоричный ответ. Я действительно искал источник для одного и обнаружил, что в этой реализации dpowers был таблицей констант (степеней 10), используемых для вывода (doprnt). Я подозреваю, что другие похожи.

Примечание. Хотя они и являются константами, но их нет в разделе только для чтения из-за языковых ограничений.

Другие вопросы по тегам