- 为所有模块添加统一的 scc_*_log.h 日志头文件,删除旧的 lexer_log.h/c - 将运行时日志从 scc_utils 迁移到 scc_core 目录,统一日志管理 - 在解析器表达式/语句/类型解析中添加 LOG_TRACE 调试日志 - 实现 SCCF 链接器 (sccf_linker) 支持多目标文件链接 - 重构 CLI 主程序 (main.c/config.c),新增 cmd_log.h 调试支持 - 优化 x86 指令编码操作数对齐检查 - 修复预处理器的指令处理和宏展开逻辑
25 lines
660 B
C
25 lines
660 B
C
#ifndef __SCC_FORMAT_LINKER_H__
|
|
#define __SCC_FORMAT_LINKER_H__
|
|
|
|
#include "sccf_builder.h"
|
|
|
|
typedef SCC_VEC(sccf_t) sccf_vec_t;
|
|
|
|
typedef struct {
|
|
sccf_builder_t builder;
|
|
|
|
sccf_vec_t link_sccfs;
|
|
scc_strpool_t strpool;
|
|
scc_hashtable_t str2offset;
|
|
sccf_sym_vec_t symtab;
|
|
sccf_reloc_vec_t relocs;
|
|
const char *entry_symbol_name;
|
|
} sccf_linker_t;
|
|
|
|
void sccf_linker_init(sccf_linker_t *linker);
|
|
void sccf_linker_add_sccf(sccf_linker_t *linker, const sccf_t *sccf);
|
|
void sccf_linker_set_entry_symbol_name(sccf_linker_t *linker, const char *name);
|
|
const sccf_t *sccf_linker_link(sccf_linker_t *linker);
|
|
|
|
#endif /* __SCC_FORMAT_LINKER_H__ */
|