У меня есть два заголовочных файла:
src/util/buffer.h
* * 1004
//Namespace Src Util Buffer sub
struct sub_buffer{
size_t size;
void *buf;
};
//tons of static inline functions
src/lib_context.h
//Namespace Src Lib Context slc
typedef struct sub_buffer slc_buffer; // Is this typedef ok?
struct slc_context{
//definition
};
void slc_set_buffer(slc_buffer *buf_ptr);
//tons of other structs and functions
В чем я не был уверен, так это typedef struct sub_buffer slc_buffer;
. Был выбор включить src/util/buffer.h
, но это могло бы привести к жесткому соединению с жаткой, и было бы более трудно заменить его, например, на. другое определение буфера, содержащее член гибкого массива.
Распространено ли вводить такой typedef
в структуру, которая определена в другом заголовочном файле, чтобы его реализация была представлена в файле c
при включении заголовка (но не для включения одного заголовка в другой заголовочный файл) )