21 using namespace kcenon::common::abi;
23 std::cout <<
"=== common_system ABI Information ===\n\n";
26 std::cout <<
"Version: " << version_string <<
"\n";
27 std::cout <<
"Version (hex): 0x"
28 << std::hex << std::setw(8) << std::setfill(
'0') << version <<
"\n";
29 std::cout << std::dec;
30 std::cout <<
"Major: " << version_major <<
"\n";
31 std::cout <<
"Minor: " << version_minor <<
"\n";
32 std::cout <<
"Patch: " << version_patch <<
"\n";
36 std::cout <<
"Event Bus ABI Version: " << event_bus_version <<
"\n";
40 std::cout <<
"Build Type: " << build_type <<
"\n";
41 std::cout <<
"Build Timestamp: " << build_timestamp <<
"\n";
45 std::cout <<
"=== ABI Compatibility Checks ===\n\n";
48 abi_checker<0x00010000> version_check;
49 std::cout <<
"✓ Compile-time check passed for version 0x00010000\n";
52 uint32_t required_version = 0x00010000;
53 if (check_abi_version(required_version)) {
54 std::cout <<
"✓ Runtime version check passed\n";
56 std::cout <<
"✗ Runtime version check failed\n";
60 if (is_compatible(0x00010000)) {
61 std::cout <<
"✓ Compatible with version 1.0.0\n";
64 if (is_compatible(0x00000100)) {
65 std::cout <<
"✓ Compatible with version 0.1.0\n";
67 std::cout <<
"✗ Not compatible with version 0.1.0 (major version mismatch)\n";
73 std::cout <<
"=== Link-Time ABI Signature ===\n\n";
74 std::cout <<
"ABI Signature: " << get_abi_signature() <<
"\n";