Описание тега binary-compatibility

Двоичная совместимость - это, как правило, способность двух аппаратных / программных систем выполнять один и тот же двоичный код без необходимости перекомпиляции.
1 ответ

_WIN32_WINNT определение изменено в заголовке, это вызывает двоичную несовместимость?

В VS2010 я работаю над обновлением приложения до новой версии сторонней библиотеки, для которой значение _WIN32_WINNT должно быть не менее 0x501, но другая сторонняя общая библиотека, которая предоставляет двоичные общие библиотеки, определяет его к…
2 ответа

Какие части кода ARMv4/5/6 не будут работать на ARMv7?

Насколько я понимаю, процессоры ARMv7, такие как Cortex-A9, в основном обратно совместимы с кодом для старых версий архитектуры ARM. Тем не менее, я читал сообщения о segfaults, пытающихся запустить код ARM9 на Cortex-A8, например. Какие части кода …
0 ответов

Реализация унифицированных типов в нескольких сборках

У меня есть ситуация, в которой я хотел бы реализовать один и тот же тип в нескольких сборках, но чтобы они казались компилятору "одинаковым" типом. Зачем мне это делать? Я нахожусь в процессе реализации некоторых из моих библиотек базовых классов в…
07 авг '17 в 22:08
3 ответа

Всегда ли несовместимость источника подразумевает двоичную несовместимость?

Любые примеры, демонстрирующие, где совместимость с исходным кодом нарушена, но поддерживается двоичная совместимость, приветствуются.
03 авг '09 в 00:51
5 ответов

Можно ли разделить структуру C в разделяемой памяти между приложениями, скомпилированными с разными компиляторами?

Я понимаю, что в целом стандарты C и C++ дают авторам компиляторов большую свободу действий. Но, в частности, это гарантирует, что типы POD, такие как члены структуры C, должны быть размещены в памяти в том же порядке, в котором они перечислены в оп…
20 янв '10 в 16:36
2 ответа

Не нарушает ли добавление значений enum двоичную совместимость?

Представьте себе это перечисление в DLL. public enum Colors { Red, Green } Не нарушает ли добавление значений enum двоичную совместимость? Если бы я изменил это, сломались бы существующие EXE-файлы? public enum Colors { Red, Green, Blue } Я видел эт…
03 окт '12 в 20:01
1 ответ

Является ли std::unique_ptr ABI-совместимым с необработанными указателями?

Мое чтение о std::unique_ptr убедил меня, что он (наряду с другими умными указателями), безусловно, является лучшим выбором для указателей внутри проекта (особенно после того, как оптимизирующий компилятор может удалить все затраты времени выполнени…
22 июл '13 в 00:18
3 ответа

Обрыв интерфейса C#, ABI

Предположим, у нас есть class X в версии 1 сборки A.dll: class X { SomeType Property { set; get; } } а потом в версии 2 сборки A.dll: class X { SomeType Property { set; get; } SomeType OtherProperty { set; get; } } Теперь предположим, что у нас есть…
22 янв '11 в 08:33
2 ответа

Двоичная совместимость при изменении имени параметра в C++

У меня есть вопрос об изменении имени параметра функции-члена. У меня есть функция foo(type iA) тогда я перехожу на foo(type iB)Я думаю, что это бен комп, но я не уверен. Не могли бы вы помочь мне объяснить причину? Большое спасибо!
14 ноя '13 в 08:21
1 ответ

Можно ли достичь двоичной совместимости в библиотеке.NET?

У меня есть библиотека.NET, видимая в COM, и она вызывается из приложения vb6. Если я добавлю некоторые методы и выпущу новую версию (но не стираю и не изменяю сигнатуры существующих методов), мне бы хотелось иметь возможность просто установить его …
09 сен '10 в 08:00
1 ответ

Этот двоичный интерфейс совместим между MSVC и mingw?

Я работаю над библиотекой, которая позволяет ее пользователям (другим библиотекам, находящимся в том же процессе) обмениваться буферами данных и потоками. Библиотеку нужно использовать как из кода MSVC, так и из кода mingw (больше совместимости не п…
1 ответ

Двоичная совместимость с Haskell

Допустим, я написал некоторый код на Haskell и скомпилировал его в 64-битной установке Ubuntu, статически связывая все пакеты Haskell и библиотеки c. Будет ли результат двоичным совместимым с любым другим 64-битным дистрибутивом Linux?
21 ответ

Что вызывает java.lang.IncompatibleClassChangeError?

Я упаковываю библиотеку Java как JAR, и это бросает много java.lang.IncompatibleClassChangeErrorс, когда я пытаюсь вызвать методы из него. Эти ошибки кажутся случайными. Какие проблемы могут быть причиной этой ошибки?
1 ответ

Структура с подсчетом ссылок, предоставляющая интерфейс POD

В настоящее время у меня есть структура, которая объявляет конструктор копирования и деструктор и сохраняет счетчик ссылок на объект pimpl. Это позволяет мне передавать эту структуру по значению. Мне нужно реорганизовать его, потому что я хочу, чтоб…
3 ответа

Бинарная совместимость VB6 - добавление новых событий

В exe-проекте VB6 ActiveX есть ли способ сохранить GUID для интерфейса событий, если и когда будут добавлены новые события? Очевидно, что изменение существующих событий нарушает совместимость. Добавление нового не заставляет VB6 IDE выдавать предупр…
20 окт '09 в 15:04
2 ответа

Совместим ли двоичный файл guava с предыдущими версиями?

Гуава README говорит, что @Beta или устарел, что МОЖЕТ быть изменен, удален и т. д. В нем не ясно сказано, все ли остальные классы совместимы с предыдущими версиями (или я неправильно их прочитал). Хотя я чувствую, что он обратно совместим, если не …
6 ответов

Scala: двоичная несовместимость между выпусками

Почему бинарная версия Scala несовместима между различными выпусками?
12 янв '10 в 23:32
2 ответа

Не нарушает ли добавление конструктора перемещения бинарную совместимость?

Если я добавлю в свою конструктор перемещения (или оператор присваивания), нарушу ли я двоичную совместимость? Может ли это дополнение каким-либо образом нарушить код пользователя? class Foo { public: Foo(); Foo(Foo const&); Foo& operator=(F…
28 апр '15 в 08:14
0 ответов

Обратная совместимость API, где новые версии, которые имеют новые API

Я прошел через некоторые связанные темы, но мой вопрос: Если у меня есть модуль, который предоставляет API, и с каждой новой версией я продолжаю добавлять совершенно новые методы и изменяю существующие. потребительская версия 1::-> использует API ве…
1 ответ

Удаляет ли значение параметра функции по умолчанию сохранение бинарной совместимости?

Я сейчас отлаживаю код, но нужно сохранить бинарную совместимость. Теперь есть модификация значения по умолчанию для параметра функции. void functionName(const type parameter = class::A::getValue()); Теперь я хочу просто изменить это так: void funct…
03 дек '14 в 14:46