Сообщение Re[2]: API vs ABI от 07.12.2025 15:09
Изменено 07.12.2025 15:11 Евгений Музыченко
Re[2]: API vs ABI
Здравствуйте, Nuzhny, Вы писали:
N>Очень наглядный пример — это debug и release сборки.
Это как раз наглядный пример того, что не является ABI.
N>ABI у debug будет другой
Не будет.
N>потому что stl контейнеры по-умолчанию будут иметь другой размер
Это не относится к ABI.
N>Программа упадёт, если собрать exe в release, а dll в debug. Но API же не изменился!
И ABI не изменился. Изменились ожидаемые неявные параметры.
N>Очень наглядный пример — это debug и release сборки.
Это как раз наглядный пример того, что не является ABI.
N>ABI у debug будет другой
Не будет.
N>потому что stl контейнеры по-умолчанию будут иметь другой размер
Это не относится к ABI.
N>Программа упадёт, если собрать exe в release, а dll в debug. Но API же не изменился!
И ABI не изменился. Изменились ожидаемые неявные параметры.
Re[2]: API vs ABI
Здравствуйте, Nuzhny, Вы писали:
N>Очень наглядный пример — это debug и release сборки.
Это как раз наглядный пример того, что не является ABI.
N>ABI у debug будет другой
Не будет, если явно не менять то, что относится к ABI (например, stdcall на fastcall).
N>потому что stl контейнеры по-умолчанию будут иметь другой размер
Это не относится к ABI.
N>Программа упадёт, если собрать exe в release, а dll в debug. Но API же не изменился!
И ABI не изменился. Изменились ожидаемые неявные параметры.
N>Очень наглядный пример — это debug и release сборки.
Это как раз наглядный пример того, что не является ABI.
N>ABI у debug будет другой
Не будет, если явно не менять то, что относится к ABI (например, stdcall на fastcall).
N>потому что stl контейнеры по-умолчанию будут иметь другой размер
Это не относится к ABI.
N>Программа упадёт, если собрать exe в release, а dll в debug. Но API же не изменился!
И ABI не изменился. Изменились ожидаемые неявные параметры.