单元编译驱动函数是tcc_add_file, 链接生成驱动函数是tcc_output_file。而语法分析与代码生成是在单元编译阶段完成的,其所在调用链是tcc_add_file-tcc_add_file_internal-tcc_compile,主要由tccelf_begin_file、tccgen_init、 tccgen_compile、tccgen_finish和tccelf_end_file实现。其中核心是tccgen_compile,而tcc...
命令行选项分析由tcc_parse_args函数完成,该函数通过TCCOption结构的数组描述所有支持的选项,使用FlagDef结构的数组描述二级选项。set_flag函数用于分析二级选项。命令行选项一般用于指示程序执行功能或传递执行所需数据。tcc_parse_args分析命令行,产生副作用,即保存信息,以及返回值指示程序接下来要执行的...
zhulong19900827:TCC编译器源码阅读笔记:词法分析与预处理(中篇) #include预处理行分析 skip_spaces static int skip_spaces(void) { int ch; --file->buf_ptr; do { ch = ninp(); } while (isidnum_table[…