Questions tagged [binary-compatibility]

Binary compatibility is generally an ability of two hardware/software systems to run the same binary code without the need to recompile.

184 questions
2
votes
1 answer

Is narrowing the return type a breaking change?

Let's say I have a .NET library (v1.0) with the following method: public IPrincipal GetUser() { ... } and in version 2.0 I replace it with public MyUserClass GetUser() { ... } to provide newer clients with additional information. Assuming that…
Heinzi
  • 167,459
  • 57
  • 363
  • 519
2
votes
1 answer

Is std::unique_ptr ABI-compatible with raw pointers?

My reading about std::unique_ptr has convinced me that it (along with the other smart pointers) is definitely the best choice for pointers internally in a project (especially after Could an optimizing compiler remove all runtime costs from…
Shea Levy
  • 5,237
  • 3
  • 31
  • 42
2
votes
1 answer

C++ binary compatible dll POD class member initialization causes crash

I'm trying to make an inter-compiler compatible class in a dll built with mingw that can be used in a Windows VS application. My issue is, my class crashes the moment it tries to initialize a member variable when a function is called from the VS…
user2380227
  • 267
  • 4
  • 14
2
votes
3 answers

VB6 binary compatibility - adding new Events

In a VB6 ActiveX exe project, is there any way to preserve the GUID for the events dispinterface if and when new events are added? Obviously changing existing events breaks compatibility. Adding a new one doesn't cause the VB6 IDE to issue a…
PD.
  • 133
  • 9
2
votes
4 answers

Cleaning up code breaks binary compatibility

I'm working on a project which is being used by a number of people I don't know. We've done a fairly good job of bringing down the CheckStyle warnings and the thing is about a low as its going to get without breaking binary compatibility. The…
Allain Lalonde
  • 91,574
  • 70
  • 187
  • 238
2
votes
2 answers

What is the recommended design for public-facing APIs to support multiple POD types while maximizing binary compatibility?

I am currently designing a public-facing C++ API for a product which will require a pre-compiled binary/DLL (it will be cross-platform). I would like for the API to allow the user to use any POD we support (where applicable), however the base…
Geoff
  • 474
  • 3
  • 14
2
votes
2 answers

Can the 'final' keyword be made conditional to C++11 in an API?

Is it a good idea to enable the final C++11 keyword conditionally to the standard version in a header file? I'm thinking of something like: #if __cplusplus >= 201103L # define MY_FINAL final #else # define MY_FINAL #endif // ... class Derived…
Michał Górny
  • 18,713
  • 5
  • 53
  • 76
1
vote
2 answers

.lib built with VS2008 used by a binary built with VS2005

What could prevent me from linking with a third-party .lib built with Visual Studio 2008 in a program that I compile with Visual Studio 2005? Thanks
1
vote
1 answer

Circumventing vb6 binary compatibility

This is more or less an academia question to help me better understand this process... not so much a request to figure out how to get around binary compatibility so no need to explain why I shouldn't try this :) Let's say I create and compile a dll…
Brandon Moore
  • 8,590
  • 15
  • 65
  • 120
1
vote
0 answers

Running old JDK/JVM versions in a modern Linux environment

I'm trying to run an old JDK (version 1.3 released in May 2000) in a relatively modern Linux box (Debian 10). As far as binary compatibility is concerned, everything seems fine, since all the necessary 32-bit dependencies are still available in…
Bass
  • 4,977
  • 2
  • 36
  • 82
1
vote
2 answers

NoClassDefFoundError: scala/collection/TraversableOnce (Using Phantom Library To Fetch Data From ScyllaDB Cluster)

I'm new to scyllaDB, I've made 3 Node ScyllaDb Cluster and it's running. Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID …
1
vote
1 answer

About java Runtime self-written public API compatibility

I just encounter a real problem about changed API. And i want to know more about this topic. Using the following example as a demo. There are 4 simple classes, Child class extends Parent. PubAPI is the class which provides public method for cient…
Ben Xu
  • 1,279
  • 4
  • 13
  • 26
1
vote
0 answers

Binary forward compatibility after appending new member variable at the end of a struct

I have a piece of legacy C++ code which lives in a library and is loaded as DLL by an application: // Foobar.h (old) struct Foobar { const char* foo; const char* bar; int apple; int banana; }; // Foobar.cpp (old) void func(Foobar*…
Lifu Huang
  • 11,930
  • 14
  • 55
  • 77
1
vote
1 answer

j2me polish binary compatibility

Is it possible using j2me polish to have only one jar file that run across multiple handset ? basically we want to have binary compatibility, and don't want different build for different handset, at the same time we needs to have good ui we do have…
1
vote
1 answer

Strange access violation at vector indexer

At first some introductions: I am currently working on a C++ compatibility thing which means being able to run projects with different compiler options with each other. Therefore I test with a Release DLL and a Debug application linking to that…