Как найти размер статических выделений от двоичного файла?

EDI - это формат файлов для структурированных текстовых файлов, который используется многими крупными организациями и компаниями для стандартного обмена базами данных. Он имеет тенденцию быть намного короче, чем XML, который был великолепен, когда пакеты данных должны были быть небольшими. Многие организации до сих пор используют его, так как многие мэйнфреймовые системы используют EDI вместо XML.

С сообщениями EDI вы имеете дело с текстовыми сообщениями, которые соответствуют определенному формату. Это было бы похоже на XML-схему, но EDI на самом деле не имеет стандартизированного языка схемы. Сами сообщения EDI на самом деле не читаются человеком, в то время как большинство спецификаций на самом деле не читаются машиной. Это в основном преимущество XML, где и XML, и его схема могут быть прочитаны людьми и машинами.

Скорее всего, когда вы делаете электронные банковские операции через какое-либо клиентское программное обеспечение (не основанное на браузере), у вас уже может быть несколько файлов EDI в вашей системе. Банки по-прежнему предпочитают EDI, а не XML, для отправки данных транзакций, хотя многие также используют свои собственные текстовые форматы.

Чтобы понять EDI, вам нужно сначала понять данные, а также стандарт EDI, которому вы хотите следовать.

6
задан Mike Bishop 26 May 2009 в 19:38
поделиться

3 ответа

Утилита size сообщит об этом в разделе «данные».

> size ./my_program
12
ответ дан 8 December 2019 в 14:46
поделиться

Вы можете использовать команду nm (или objdump , как предлагает @sharth). Использование nm более «переносимо» в том смысле, что оно доступно и в системах Unix, отличных от Linux; он не намного более переносимый, потому что выходной формат не полностью стандартизирован (хотя он определен POSIX, существует несколько общих вариантов выходного формата).

2
ответ дан 8 December 2019 в 14:46
поделиться

Да. Используйте ...

objdump -h progfile

, который выведет список «заголовков». Найдите заголовок .data и проверьте столбец размера.

2
ответ дан 8 December 2019 в 14:46
поделиться