Я читал книгу по реверс-инжинирингу, в которой утверждается, что в C/C++ функции из одного и того же исходного кода обычно располагаются в скомпилированном двоичном файле рядом друг с другом, в том порядке, в котором они были написаны.
Действительно ли это типично? (при условии, что все параметры для ручного управления отключены, но сохранены «значения по умолчанию»)
Какова вероятность того, что компилятор/компоновщик или оптимизации повлияют на это? Я не спрашиваю о каком-то конкретном компиляторе, скорее о популярных, пусть это будут GCC и MSVC например, а также Windows/Linux в качестве платформ.
Редактировать: не дубликат Почему бы gcc изменить порядок функций в двоичном файле? , мой вопрос касается «общих правил», а не конкретно GCC.
Подробнее здесь: https://stackoverflow.com/questions/792 ... executable
Порядок функций в скомпилированном исполняемом файле ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение