lvc / abi-compliance-checker

A tool for checking backward API/ABI compatibility of a C/C++ library
https://lvc.github.io/abi-compliance-checker/
GNU Lesser General Public License v2.1
621 stars 76 forks source link

Does C++export class support compatibility detection #122

Open honeyyaya opened 1 year ago

honeyyaya commented 1 year ago

Hello, When I used the tool to detect C++exported classes, I found that it was not possible to detect changes in the memory structure of the exported classes. Does the tool support C++exported class compatibility detection?

1.0.0 code struct TestExportClassStructure { long long i[5]; long j; double k; struct OpaqueType* p; };

class __declspec(dllexport) TestExportClass { TestExportClass(); public: TestExportClassStructure s_test_export_classstruct; };

1.1.0 code struct TestExportClassStructure { long long i[5]; long j; double k; struct OpaqueType* p; int increase_int; };

class __declspec(dllexport) TestExportClass { TestExportClass(); public: TestExportClassStructure s_test_export_classstruct; int i_test_exportclass = 0; };

Desired results:Can you tell me if the two versions are incompatible? Do you support this type of detection。

thank you