Does `static` remove the ABI compatibility gap from a private function?

Suppose you are working on a library source that must support ABI compatibility. This library has a .c file that defines the function staticas follows:

static int
wl_message_count_arrays(const struct wl_message *message)
{
    // ...
}

This feature does not appear in exported headers, but I would like to show it in a private header. For this, the function cannot be marked static. Would remove the staticsignature modifier of the ABI function?

+4
source share
1 answer

I think there are several points to consider:

  • Does ABI change?

    , . static ABI.

  • ?

    : , , , .

  • , , ?

    , , . .

    " " (, foo_ ), , , ABI .

+2

Source: https://habr.com/ru/post/1659089/


All Articles