ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

41、gawk扩展功能全解析

41、gawk扩展功能全解析

gawk扩展功能全解析

1. 代码加载与初始化

在编写gawk扩展时,需要完成一系列的代码加载与初始化工作。首先是更新错误号并返回结果的代码:

update_ERRNO_int(errno); return make_number(ret, result);

还有通过fill_stat_array()函数完成繁琐工作,完成后返回其结果:

ret = fill_stat_array(name, array, & sbuf); return make_number(ret, result);

为了将新函数加载到gawk中,需要提供“粘合代码”。例如filefuncs扩展有一个初始化函数:

/* init_filefuncs --- initialization routine */ static awk_bool_t init_filefuncs(void) { … }

还需要一个awk_ext_func_t结构的数组来加载每个函数:

static awk_ext_func_t func_table[] = { { "chdir", do_chdir, 1 }, { "stat", do_sta
返回列表