feat(parser): 使用静态数组初始化测试向量
- 将多个测试用例中的 `scc_vec_unsafe_from_array` 替换为 `scc_vec_unsafe_from_static_array` 以提高性能 - 此更改影响了 `test_parser_unit` 和 `test_parser_type` 函数中的多个位置 feat(sccf): 添加SCC格式支持和相关工具 - 创建新的 sccf 库用于处理 SCCF (SCC Format) 文件格式 - 实现了基本的文件格式定义,包括头部、段表、符号表等结构 - 添加了构建器和链接器的基本框架 - 包含格式化工具的初始实现 refactor(main): 修复输出文件检查逻辑 - 修正主函数中输出文件检查条件,确保在 fp 为 null 时正确处理 - 更新输出消息显示逻辑以匹配文件操作状态
This commit is contained in:
28
libs/sccf/include/sccf_builder.h
Normal file
28
libs/sccf/include/sccf_builder.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef __SCC_FORMAT_BUILDER_H__
|
||||
#define __SCC_FORMAT_BUILDER_H__
|
||||
|
||||
#include "sccf_utils.h"
|
||||
#include <scc_utils.h>
|
||||
|
||||
typedef SCC_VEC(sccf_sym_t) sccf_sym_vec_t;
|
||||
typedef SCC_VEC(sccf_reloc_t) sccf_reloc_vec_t;
|
||||
|
||||
typedef struct {
|
||||
sccf_t sccf;
|
||||
int aligned;
|
||||
scc_strpool_t strpool;
|
||||
scc_hashtable_t str2offset;
|
||||
sccf_sym_vec_t syms;
|
||||
sccf_reloc_vec_t relocs;
|
||||
} sccf_builder_t;
|
||||
|
||||
void sccf_builder_init(sccf_builder_t *builder);
|
||||
|
||||
void sccf_builder_add_section(sccf_builder_t *builder,
|
||||
sccf_sect_header_t *sect_header,
|
||||
sccf_sect_data_t *sect_data);
|
||||
|
||||
void sccf_builder_to_buffer(sccf_builder_t *builder, sccf_buffer_t *buffer);
|
||||
void sccf_builder_to_file(sccf_builder_t *builder, const char *file_path);
|
||||
|
||||
#endif /* __SCC_FORMAT_BUILDER_H__ */
|
||||
Reference in New Issue
Block a user