Оказывается, можно объявлять структуры, не объявляя их поля. Я в шоке. Оказывается, заголовки можно писать вот так: ---------- my-objects.h ---------- > struct my_object; > struct my_object * my_object_create(); > int my_object_do_something(struct my_object * object); ---------------------------------- И таким образом изменение структуры не повлечёт за собой необходимость перекомпиляции всех программ, которые пользуются библиотекой my-objects. Что примечательно, в справке [1] ни слова о том, что так можно делать. Подскажите, я как-то не так читаю? Я вроде с языком Си уже давно дружу, и меня очень огорчает то, что я узнаю о таких вещах случайно на бордах вроде OpenNet'а. [1] http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Defining-Structures
Attachment:
pgpoRmSm1hHbv.pgp
Description: PGP signature