Binary compatibility is generally an ability of two hardware/software systems to run the same binary code without the need to recompile.
Questions tagged [binary-compatibility]
184 questions
2
votes
2 answers
Questions about "Binary Compatibility between Visual Studio 2015 and Visual Studio 2017"
https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=vs-2017 says that C++ Binary Compatibility between Visual Studio 2015 and Visual Studio 2017 is guaranteed except:
1)When static libraries or object files are compiled with…

finn
- 205
- 1
- 7
2
votes
2 answers
Does changing a enum to a class break binary compat
If I have a enum like this:
public enum Test {
TEST_VALUE(42), OTHER_TEST_VALUE(1337);
private int val;
Test(int val) {
this.val = val;
}
public void increment() {
val++;
}
public int getVal() {
…

ichttt
- 95
- 1
- 1
- 5
2
votes
2 answers
Issue about "binary compatibility"
When I read Java Language Specification (JLS8) > Binary Compatibility, one of a set changes that doesn't break binary compatibility is:
Changing methods or constructors to return values on inputs for which they
previously either threw exceptions…

John Minverva
- 51
- 3
2
votes
0 answers
Implementing unified types across multiple assemblies
I have a situation in which I'd like to implement the same type in multiple assemblies, but have them appear to the compiler to be the "same" type.
Why would I want to do this? I am in the process of implementing some of my base class libraries in…

Matthew
- 155
- 1
- 11
2
votes
2 answers
Binary compatibility between VS2017 and VS2015
This SO post:
Is Visual-C++-2017 binary compatible with VC++-2015? clearly says that VS 2017 is binary compatible with VS 2015. It even looks like the official position.
My question is, in the past, I distinctly remember running into linker errors…

ForeverLearning
- 6,352
- 3
- 27
- 33
2
votes
1 answer
Can C++ binary code become portable through a native C interface? What are the limitations?
I often use the technique to wrap my high-performance C++ classes with a a thin C layer that I compile to shared libraries, and then load them in other programming languages, such as Python.
From my reading here and there, I understand that the only…

The Quantum Physicist
- 24,987
- 19
- 103
- 189
2
votes
1 answer
Binary compatibility between avr-gcc 3.4.0 and avr-gcc 4.3.x
I have inherited an application that links to a library which MAY HAVE been built with gcc3. Or maybe with the imagecraft compiler. That information has now vanished to the heavenly bitfield and I am left with a libXXX.a library against which to…

Manjabes
- 1,884
- 3
- 17
- 34
2
votes
2 answers
newer gcc binary running on older systems
I have a binary compiled with gcc 4.4.0 and am trying to run it on an older system, which does not have gcc 4.4.0. It doesn't work. The error is not that it can't find a symbol, but it just doesn't run correctly and hangs. The differences between…

eruditass
- 123
- 4
2
votes
4 answers
On which Linux distribution should I link for best binary compatibility?
I'm wondering which Linux distribution would be best (i.e. introduces the least dependencies) when linking a binary that should work on as many distributions as possible against shared libraries.
I've done it on Ubuntu, but the list of dependencies…

Noarth
- 3,981
- 6
- 23
- 16
2
votes
1 answer
C++ properties for opaque data types
I am building a C++ API which needs to be extendable without recompiling the software that uses it (for lots of bad reasons). This requires opaque data types so that fields can be added to classes. Something like
struct CheshireCat; // Not defined…

Tuntable
- 3,276
- 1
- 21
- 26
2
votes
2 answers
including different versions of glib headers
If there are two source files a.c and b.c:
a.c includes the glib.h of glib-2.6.6
and
b.c includes glib.h of glib-2.12
Then I compile them and link them together and generate target program. Assume that a.c is not using any new feature…

Simon
- 41
- 2
2
votes
1 answer
Does deleting the default value of function parameter still keep binary compatibility?
I'm now debugging code but need to keep binary compatibility. There now is a modification about the default value of function parameter.
void functionName(const type parameter = class::A::getValue());
Now I want to just change it like this :
void…

DONG
- 59
- 1
- 10
2
votes
4 answers
Binary compatibility issue - an example?
As far as I understand the source compatibility and how you can easily show an example that would break source compatibility (change name of the method, remove method etc.), I am having a bit of a problem seeing how binary compatibility can be…

Bober02
- 15,034
- 31
- 92
- 178
2
votes
2 answers
Is a struct full of function pointers a good solution for C++ binary compatibility?
I have a library written in C++ that I need to turn into a DLL. This library should be able to be modified and recompiled with different compilers and still work.
I have read that it's very unlikely that I will achieve full binary compatibility…

CuriousGeorge
- 7,120
- 6
- 42
- 74
2
votes
3 answers
Does removing an interface break code calling methods on the object?
I need to do some refactoring in Java, and I need to maintain some degree of binary compatibility. In this case I want to remove some legacy interfaces, that are not used anywhere anymore and which require a rather big (and also deprecated) external…

Thilo
- 257,207
- 101
- 511
- 656