|
|
|
|
|
by pjmlp
3126 days ago
|
|
Before C++17, boost::filesystem, now std::filesystem. In Android's case, the ABI would be whatever g++, now clang, shipped with NDK support. Additionally there are ways to implement compatible ABIs in C++. In any case, they are wrapping the C++ classes already, either via C or Java, so they could offer them as well. Instead, one needs to write unsafe C code, JNI boilerplate or wrap them again in C++. |
|
> Additionally there are ways to implement compatible ABIs in C++.
Eh... when even compilation flags affect ABIs, it's hard for a particlar C++ file to have a stable ABI. The same is true in C, of course, but the way C libraries are generally designed, it's simpler to be ABI compatible. In C++, arcane and unexpected things like noexcept specifications (affected by changes in underlying libraries!) can change your ABI.
> Instead, one needs to write unsafe C code, JNI boilerplate or wrap them again in C++.
That's a fair point. There might be reasons they'd do that (SLAs they can afford), but that's a presumption.