Описание тега data-segment

0 ответов

Почему размер.bss плюс filesiz сегмента данных не одинаковый memsiz сегмента данных

Моя машина Ubuntu 16.04. И я хочу понять связь между разделом.bss и памятью. readelf -e /usr/bin/find и получить ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current)…
26 авг '18 в 04:13
2 ответа

NASM компилирует адреса меток x86_64 ASM на 256 байтов в Mach-O при использовании нескольких объявлений БД?

Короче когда у меня несколько db разделы в моем .data раздел, скомпилированные адреса / метки отключены при компиляции NASM. В моем тестировании они были отключены на 256 байтов в полученном двоичном файле Mach-O. Программное обеспечение, которое я …
09 сен '15 в 00:27
3 ответа

Что такое сегмент данных c/ C++ и размер стека?

Я читал, что это зависит от архитектуры компилятора и операционной системы. Как узнать максимальный размер сегмента данных и стека в системе Linux, используя GCC в качестве компилятора?
12 сен '15 в 18:03
3 ответа

Как получить размер сегмента данных в C++

Мне нужно провести анализ требований к памяти для одной библиотеки, написанной на C++, потому что инженеры HW должны получить представление о требованиях к памяти нашего оборудования, над которым мы работаем. Я могу измерить пик размера кучи, я могу…
02 мар '15 в 13:16
1 ответ

Выделение памяти для сегмента данных происходит неправильно для каждой статической и глобальной (неинициализированная / инициализированная переменная)

Я пытаюсь понять, как распределение памяти работает для любого кода C, который выполняется или компилируется. Я написал следующие 5 отдельных небольших кодов, которые помогут мне понять процесс выделения памяти. segment_size1.c int main(){ printf("h…
09 янв '19 в 10:07
1 ответ

Операнд памяти ассемблера

Я использую emu8086 для изучения ассемблера. У меня есть вопрос, который говорит: Преобразуйте следующее в фрагмент кода в код языка ассемблера: a = 0 Я инициализирую переменную a как десятичный код 48 ascii (который имеет символьное значение 0)? a …
22 мар '14 в 09:37
1 ответ

Что выводится этот код, массив и указатели

У меня есть несколько вопросов относительно кода ниже. Если у меня есть указатель какого-то типа, что это значит использовать индексирование массива с ним? в этом примере, что делает ptr[3] обозначать (ptr - указатель какого-то типа)? Выход программ…
22 фев '19 в 21:24
2 ответа

Сегмент данных против стека

Глобальная переменная размещается в сегменте данных, а локальная остается в стеке. Я знаю, что доступ к переменной, хранящейся в куче, медленнее, чем доступ к локальной переменной, но я не знаю, быстрее ли доступ к локальной переменной, чем к глобал…
14 окт '16 в 08:01
1 ответ

Какая польза от сегмента bss?

Я знаю, что сегмент bss содержит неинициализированные переменные, которым будет присвоено 0 в качестве начального значения, но почему мы не просто используем сегмент данных для их хранения? я читал, что это ускоряет выполнение, потому что загрузчик …
20 янв '12 в 07:59
1 ответ

Неинициализированные переменные объектного файла не отображаются в команде размера linux

Создан исходный файл test1.c со следующим кодом: #include<stdio.h> #include<stdlib.h> int x = 15; int d = 15; int m = 18; int k = 0; int c = 0; int l; int main() { int y = 5; int ma = 10; int am = 10; printf("Hello World\n"); return 0; }…
01 мар '17 в 18:21
2 ответа

Почему linux установил для сегмента данных значение __USER_DS в прологе обработчика исключений

Я пытаюсь прочитать исходный код Linux (2.6.11) В обработчике исключений на entry.s код ошибки: movl $(__USER_DS), %ecx movl %ecx, %ds movl %ecx, %es Я не знаю, зачем загружать сегмент пользовательских данных здесь. Поскольку предполагается, что он …
19 авг '13 в 04:17
1 ответ

Странное поведение утилиты размера

1-й случай: #include <stdio.h> int main(void) { return 0; } Размер вывода: text data bss dec hex filename 1115 552 8 1675 68b ./a.out 2-й случай: #include <stdio.h> int global; // new line compared to previous case int main(void) { retur…
05 мар '16 в 09:25
2 ответа

Переменные шаблона безопасны для потока? они размещены в сегменте данных?

Я играю с новой функцией шаблонных переменных из C++14, чтобы привыкнуть к ней (возможно, скоро это сделают, потому что кажется, что некоторые компиляторы не реализовали ее полностью). Теперь мне интересно, где лежит каждый экземпляр переменной шабл…
0 ответов

Данные в сегменте данных недоступны

У меня есть некоторые проблемы при доступе к данным, когда они находятся в section .data Я написал небольшую программу на ассемблере (с использованием NASM), которая состоит из загрузчика, который загружает некоторый код "ядра". Этот код ядра затем …
18 фев '15 в 16:29
1 ответ

Как изменить сегмент данных? Что я делаю неправильно?

Я занимаюсь разработкой 32-битной ОС и разработал работающий загрузчик ELF, который работает просто отлично. Теперь у меня не включена подкачка страниц (я планирую позже, но сейчас я просто пытаюсь загрузить модули ядра), и я пытаюсь запускать модул…
14 янв '13 в 06:37
2 ответа

Идентификация сегмента данных в Win32/Win64

Я DLL загружен в памяти какого-то процесса. Я являюсь частью ряда библиотек DLL, которые присутствуют в этом процессе, некоторые загружаются динамически, а некоторые статически. Мне осталось найти "драгоценный камень данных", чтобы обнаружить его гд…
06 фев '18 в 10:59
2 ответа

Проблемы размещения памяти в C (64-разрядная версия)

Я хотел понять, как работает программа "С" и хранить данные в машине. Итак, я посмотрел на Memory Layout C отсюда и следовал тем же инструкциям на моей машине, которая является 64-битной. Первый раз, когда я написал программу (main имеет только retu…
20 фев '19 в 06:45
2 ответа

Два стека в ассемблере?

Я пишу код на 8086 ассемблере и столкнулся с интересным вопросом. Тема для оценки скобок. Если бы это был вопрос в Java или же CЯ бы просто определил два стека - один для чисел, а другой для операндов. Могу ли я сделать что-то подобное в Assembly? Н…
19 июн '16 в 11:32
1 ответ

Сборка: сегмент данных, когда вызывается из C или создается как независимая программа

Я запутался в этом; Я не думаю, что должна быть какая-то разница в обоих случаях, программа заканчивается как исполняемый файл. Пожалуйста, помогите, если вы думаете, отличается.... Позвольте мне уточнить мой вопрос: есть ли разница в определении ил…
24 апр '10 в 15:10
2 ответа

Сборка Intel для ATT для чтения данных сегмента BIOS

Каким будет эквивалентный код ATT для следующего кода Intel: BIOS segment byte at 40h org 13h memory dw ? BIOS ends
02 июн '15 в 20:30