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