# TiecodeCompiler-Public **Repository Path**: mobile-ipe/TiecodeCompiler-Public ## Basic Information - **Project Name**: TiecodeCompiler-Public - **Description**: 结绳编译器(跨平台版)发布仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2025-11-08 - **Last Updated**: 2026-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 结绳编译器(跨平台版)仓库 用于发布结绳编译器产物,目录结构如下: ``` ├── docs 编译器Api文档 ├── include 头文件,用于编译器插件开发或直接将结绳编译器嵌入C++项目 ├── samples 结绳示例源文件 ├── stdlib 各平台基本库 ├── android 安卓工程基本库 ├── web 网页工程基本库 └── windows Windows工程基本库 ├── toolchain 结绳编译器工具链目录 ├── linux Linux(x86_64)平台工具链 ├── web WASM模块+demo ├── libtiec.d.ts TypeScript符号导出文件 ├── libtiec.js 编译器模块JS文件 ├── libtiec.wasm 编译器WASM模块 └── web-demo.html html调用结绳编译器Demo └── windows Windows平台工具链 ├── winforms C# WinForms api & demo ├── sample-compile.bat Windows执行结绳编译的示例脚本 ├── tiec.exe 编译器可执行文件(命令行工具) └── tiec_shared.dll Windows动态库,配合 c_api.h 调用 └── README.md 帮助文档 ``` ## 使用命令行工具 用法: ``` tiec.exe [选项] <源文件...> ``` 编译选项: ``` -o, --output <目录> 设置输出目录 -p, --package <包名> 设置默认包名 -d, --define <宏名称>=<值> 定义编译条件变量 --dir <目录> 递归扫描指定目录下所有源文件 --source <版本> 结绳源代码版本 (40, 46, 47) --debug 启用调试模式(默认) --release 发布模式(禁用调试) --hard-mode 硬输出模式 --optimize <级别> 优化级别 (0-3,默认1) --disable-lint <名称> 禁用指定lint检查 --log-level <级别> 日志级别 (debug, info, warning, error) --platform <平台> 目标平台 (android, harmony, linux, windows, ios, apple, html) --friendly-name <模式> 指定编译输出符号名称模式 (random, pinyin, original) --emit-names <路径> 指定生成稳定的输出名并将映射表保存到指定文件,配合--stable-names使用 --stable-names <路径> 从指定路径读取稳定名称映射表保证输出名称与上一次一致,配合--emit-names使用 --search-lib-prefix <路径> 增加外部依赖库搜寻路径 --search-source-prefix <路径> 增加外部源文件搜寻路径 --search-res-prefix <路径> 增加资源文件搜寻路径 --search-assets-prefix <路径> 增加资产文件搜寻路径 --line-map <路径> 行号表输出路径 --retrace <行号表路径> <文件名> <行号> 还原结绳源代码行号 --android.app.config <文件路径> 指定输出Android工程的App配置信息(App名称、targetSdkVersion等) --android.gradle 指定Android工程输出格式为gradle工程 -h, --help 显示此帮助信息 ``` 特别说明:
`-d, --define` 选项用于定义编译条件变量,默认的变量有以下两个: ```text 调试版=真/假 正式版=假/真 ``` `--android.app.config` 指定的文件内容格式(JSON)如下: ```json { "appName": "App的名称", "appIcon": "App的启动图标路径", "minSdk": minSdkVersion, "targetSdk": targetSdkVersion, "versionCode": 版本号, "versionName": "版本名称" } ``` 示例: ``` tiec.exe -o output/ -p 结绳.中文 --platform windows src/main.t src/std.t ``` ## 原生平台集成 ### Windows 集成 将`include/c_api.h`和`windows/tiec_shared.dll`拷贝到项目中直接调用,或采用winforms(C#)封装好的api ### Web 集成 将`toolchain/web`目录下和`libtiec.d.ts`,`libtiec.js`,`libtiec.wasm`直接拷贝到Web项目中即可直接使用,可参见`web-demo.html`调用 ### Android 集成 Android提供了便捷的JNI绑定,类名和函数名与C++侧保持一致,可以从maven引入 ```groovy implementation 'cn.tiecode:compiler:4.7.0-preview1' ``` ## 调用结绳编译器Api 参见[编译器Api](docs/编译器Api.md) ## 非C++集成编译器和IDE服务 参见[非C++集成编译器和IDE服务](docs/平台集成编译器.md)