一, 关于map_file
pulse/context.c 中的一个函数
pa_tagstruct *pa_tagstruct_command(pa_context *c, uint32_t command, uint32_t *tag)
在编译连接后,无法使用,readelf 查看,属性为local,所以修改上述文件,增加该函数的定义,然后 make install
二,关于结构体的定义和别名
以pa_simple这个结构体为例子
struct pa_simple {
pa_threaded_mainloop *mainloop;
pa_context *context;
pa_stream *stream;
pa_stream_direction_t direction;
const void *read_data;
size_t read_index, read_length;
int operation_success;
};
这段定义在simple.c中,而typedef定义别名在simple.h中
typedef struct pa_simple pa_simple;
包含了头文件,却不知道具体的结构定义,只是知道有个类型pa_simple
这样,编译就会有错误:
dereferencing pointer to incomplete type