韩天峰
|
23f1a1eef9
|
test(aot): 添加动态调用相关测试用例并修复命名空间方法重写检测
- 移除测试文件中不必要的 use native_types 语句
- 新增 call-interface-method.phpt 测试接口方法调用功能
- 新增 call-magic-fallback-typed-object.phpt 测试魔法方法回调功能
- 新增 call-multilevel-override.phpt 测试多层级继承方法重写功能
- 新增 call-parent-sibling-dispatch.phpt 测试父类参数分发到兄弟类方法功能
- 新增 call-protected-override.phpt 测试受保护方法重写功能
- 添加命名空间重写键名使用完整类名的单元测试
- 添加 static 属性 array_pop 操作的调试测试用例
|
2 months ago |
韩天峰
|
a7b5b248fb
|
refactor(optimizer): 重构SSA对象稳定性分析以支持动态方法调用优化
- 将对象稳定性分析从属性提升优化中分离为独立方法
- 添加analyzeStableObjects方法用于分析方法分派的对象稳定性
- 修改optimizeObjectProps方法只在启用原生类型时执行属性提升
- 提取collectStableObjectCandidates辅助方法收集稳定对象候选者
- 更新翻译器中的优化执行顺序和条件判断逻辑
- 添加两个新的动态调用测试用例验证重
|
2 months ago |
韩天峰
|
8148ffce1e
|
fix(aot): 修复动态调用中的方法重写处理问题
- 添加了对父类参数类型调用重写方法的测试用例
- 增加了方法重写检测逻辑,避免对重写方法进行去虚拟化
- 新增 getOverrideMethodName 方法统一获取重写方法名称
- 新增 isFinalClass 方法判断类是否为 final
- 修正了 canDevirtualize 方法中关于最终类的判断逻辑
- 统一使用 getOverrideMethodName 获取完整方法名
- 优化了 SSA 稳定对象
|
2 months ago |
韩天峰
|
979ea385ca
|
fix(runtime): 解决抽象方法调用导致的崩溃问题
- 添加了对抽象方法调用的检查和处理逻辑
- 在方法指针获取时过滤掉抽象方法避免错误调用
- 对对象调用抽象类或接口方法时返回 false 避免运行时错误
- 添加了 noProgress 属性用于控制进度显示
- 完善了方法标志位检查机制防止虚方法调用异常
|
2 months ago |
韩天峰
|
0360a51104
|
chore(deps): 更新 swoole/phpx 依赖版本
- 将 swoole/phpx 从 ~2.3.9 升级到 ~2.3.10
- 更新版本号从 1073 到 1074
|
2 months ago |
韩天峰
|
e694e90c16
|
feat(translator): 添加无进度条编译选项
- 新增 --no-progress 参数用于禁用进度条显示
- 实现按文件逐行输出编译进度功能
- 在串行编译模式下支持进度条禁用选项
- 在并行编译模式下支持进度条禁用选项
- 添加编译失败和异常情况下的索引计数
- 实现百分比和文件名的简短路径显示
|
2 months ago |
韩天峰
|
ebc6891a40
|
feat(php): 添加 Response File 临时文件清理功能
- 在 CompilerBackend 中添加 lastResponseFile 属性记录最近创建的响应文件路径
- 修改 createResponseFile 方法保存响应文件路径到实例属性
- 新增 cleanupResponseFile 方法用于删除临时响应文件
- 在 Translator 构建成功后调用 cleanupResponseFile 清理临时文件
|
2 months ago |
韩天峰
|
ec07242ce1
|
docs(architecture): 添加代码复用改进计划和封装审查文档
- 添加 code-reuse-improvement.md 包含四个阶段的重构计划
- 添加 encapsulation-review.md 分析实体类、函数上下文等封装问题
- 计划提取 UnixPlatform 和 GccLikeBackend 基类减少重复代码
- 提出 FunctionContext 属性分组和访问控制改进方案
- 规划 Trait 与 Context 解耦以提升代码质量
|
2 months ago |
韩天峰
|
f0f72f651d
|
feat(examples): 添加字符串连接示例并改进yield示例输出
- 新增 concat.php 示例文件展示字符串连接操作
- 修改 yield.php 示例中的输出方式为循环打印每个值
- 将 yield 示例的 var_dump 替换为更清晰的逐行输出格式
|
2 months ago |
韩天峰
|
e16f103cc7
|
chore(deps): 更新项目依赖包到最新版本
- 更新 league/climate 从 3.10.1 到 3.11.0
- 更新 symfony/polyfill-ctype 从 v1.36.0 到 v1.37.0
- 更新 symfony/polyfill-mbstring 从 v1.36.0 到 v1.38.2
- 更新 symfony/var-dumper 从 v8.0.8 到 v8.1.0
- 更新 symfony/yaml 从 v8.0.8 到 v8.1.0
- 更新 composer/pcre 从 3.3.2 到 3.4.0
- 更新 ergebnis/agent-detector 从 1.1.1 到 1.2.0
- 更新 friendsofphp/php-cs-fixer 从 v3.95.1 到 v3.95.11
- 更新 symfony/console 从 v8.0.8 到 v8.1.0
- 更新 symfony/deprecation-contracts 从 v3.6.0 到 v3.7.0
- 更新 symfony/event-dispatcher 从 v8.0.8 到 v8.1.0
- 更新 symfony/event-dispatcher-contracts 从 v3.6.0 到 v3.7.0
- 更新 symfony/filesystem 从 v8.0.8 到 v8.1.0
- 更新 symfony/finder 从 v8.0.8 到 v8.1.0
- 更新 symfony/options-resolver 从 v8.0.8 到 v8.1.0
- 更新 symfony/polyfill-intl-grapheme 从 v1.36.0 到 v1.38.1
- 更新 symfony/polyfill-intl-normalizer 从 v1.36.0 到 v1.38.0
|
2 months ago |
韩天峰
|
15bcacacc0
|
fix(php): 修复引用参数传递中的静态属性处理问题
- 在引用参数解析中添加临时变量处理以支持引用类型参数
- 为静态属性获取器添加 toReference() 方法调用支持
- 添加新的测试用例验证静态属性引用操作的正确性
- 优化编译器对 nativeProperty 属性的引用值处理逻辑
|
2 months ago |
韩天峰
|
991e4bc931
|
refactor(backend): 将命令构建方法从修改字符串改为返回标志字符串
- 将 Clang 和 GccLikeBackend 中的 addPICFlag 方法重构为 getPICFlag
- 将 addPlatformLinkFlags 方法重构为 getPlatformLinkFlags
- 将 addPlatformFullLinkFlags 方法重构为 getPlatformFullLinkFlags
- 修改调用方式从传引用改为直接拼接返回的标志字符串
- 统一 Windows 平台的特殊处理逻辑
- 保持原有功能不变但改进代码结构
|
2 months ago |
韩天峰
|
73e4754a49
|
feat(backend): 实现响应文件机制解决命令行长度限制
- 添加 createResponseFile 方法将目标文件列表写入 .rsp 文件
- 在 MSVC、GCC/Clang 编译器后端中使用 @rsp 参数替代长命令行
- 修复单元测试以验证响应文件参数生成
- 支持路径含空格时的双引号包裹处理
- 兼容 Windows 8191 字符命令行长度限制
|
2 months ago |
韩天峰
|
7c2192ff54
|
refactor(backend): 重构编译器后端实现以支持 GCC/Clang 共享基类
- 将 Clang 和 GCC 后端重构为继承自新的 GccLikeBackend 基类
- 移除重复的编译和链接命令构建逻辑
- 添加平台特定的钩子方法用于扩展功能
- 在 FunctionContext 中添加 SSA 构建器属性
- 统一编译器和链接器命令的初始化方式
- 优化 Windows 平台兼容性处理逻辑
|
2 months ago |
韩天峰
|
d49743a0fe
|
fix(php): 修复类型节点解析和返回类型检查问题
- 修正 resolveTypeNode 方法的返回类型为 NodeAbstract
- 在返回类型检查中添加对原生类的判断条件
- 仅对存在的类进行静态检查以避免动态类的编译期验证错误
- 保持对抽象类和接口的原有检查逻辑
|
2 months ago |
韩天峰
|
cd37d26e64
|
feat(generator): 添加匿名类生成器支持命名空间类型解析
- 新增 AnonClassGenerator trait 处理匿名类类型名称解析
- 实现匿名类内部类型引用转为全限定名称的功能
- 添加处理命名空间 use 导入的类型匹配逻辑
- 重构嵌入代码生成方法到独立 trait 中
- 添加匿名类继承和接口实现的全限定名称转换
- 新增测试用例验证匿名类在命名空间中的行为
|
2 months ago |
韩天峰
|
601b985600
|
feat(compiler): 添加进度条显示并更新依赖库
- 集成 ajaxray/ansikit 库用于终端UI显示
- 升级 swoole/phpx 从 v2.1.4 到 v2.3.9 版本
- 在并行编译过程中添加进度条实时显示编译进度
- 移除函数返回类型的推断逻辑和相关字段
- 设置PHP平台版本要求为 >=8.2 <8.6
- 优化编译失败时的错误输出格式
|
2 months ago |
韩天峰
|
2800b974e3
|
refactor(php): 重构SSA分析和对象属性优化实现
- 移除FunctionContext中的ssaBuilder属性,改为函数内部临时创建
- 修改optimizeLoopVars、optimizeObjectProps、optimizeVarTypes方法接受SsaBuilder参数
- 实现对象别名传播检测以改进属性提升优化
- 添加resetAnalysisTemporaries方法重置分析临时数据
- 更新变量类型检测逻辑以支持SSA定义的局部变量
- 修复构造函数可以被重写的检查逻辑
- 扩展isTypedObject方法以包含稳定对象检测
- 为字符串连接扁平化和对象属性逃逸分析添加测试用例
|
2 months ago |
韩天峰
|
545f347d4a
|
chore(deps): 更新 swoole/phpx 依赖版本
- 将 swoole/phpx 从 ~2.3.7 更新到 ~2.3.9
- 保持其他依赖版本不变
|
2 months ago |
韩天峰
|
0f6e07252b
|
refactor(php): 优化PHP解析器中的字符串连接操作处理
- 实现了递归展平函数来处理嵌套的连接表达式
- 将原有的二元操作符处理改为多参数列表处理
- 添加了类型检查逻辑以防止空值连接错误
- 更新了OPcache配置命令以确保扩展正确加载
- 重构了连接操作的字符串转换和参数构建过程
|
2 months ago |
韩天峰
|
286330f45d
|
test(php): 添加继承错误测试用例并实现继承兼容性检查
- 添加了类常量可见性错误的测试用例
- 添加了方法继承不兼容的测试用例
- 实现了属性重写的类型、可见性和只读性检查
- 实现了常量重写的类型和可见性检查
- 实现了方法重写的可见性检查
- 添加了继承错误相关的测试文件和断言逻辑
- 在翻译器中集成了继承兼容性验证功能
|
2 months ago |
韩天峰
|
23a100caf4
|
feat(php): 添加PHP方法重写签名验证功能
- 实现了子类方法重写时参数数量、返回类型、参数类型的兼容性检查
- 添加了按引用传递参数和可变参数的签名匹配验证
- 新增了继承错误测试用例文件
- 重构了方法重写检查逻辑,提取为独立的验证函数
- 更新了错误提示信息以显示具体的不兼容原因
|
2 months ago |
韩天峰
|
4faff75f62
|
fix(tests): 修正标准有序映射测试中的变量名和方法调用
- 将 $ordered 变量名更正为 $unordered 以匹配实际使用的无序映射
- 将 toStdMap 方法调用更正为 toStdOrderedMap 以使用正确的有序映射方法
|
2 months ago |
韩天峰
|
715d2222e8
|
test(aot): 添加 std ordered_map 功能测试用例
- 测试基本的 ordered_map 操作,包括整数键浮点数值的存储和更新
- 测试字符串键的 ordered_map 功能及类型处理
- 测试复杂值类型的 ordered_map,包括字符串、数组、对象和变体类型
- 测试精确类值类型的容器功能,验证类型安全和继承关系
- 测试 unsafe_cast 功能及其类型转换行为
- 测试 unsafe_cast 类型不匹配的错误处理
- 测试 ordered_map 与 PHP 数组之间的赋值操作
- 测试相同类型的 ordered_map 之间复制操作
- 测试 unset 操作对 ordered_map 元素的删除功能
- 测试遍历过程中 unset 元素的行为表现
|
2 months ago |
韩天峰
|
b3e489d334
|
refactor(aot): 重构标准容器实现将unordered_map重命名为ordered_map
- 将StdUnorderedMap重命名为StdOrderedMap并在所有相关文件中更新引用
- 修改polyfills.php中std::unordered_map为std::ordered_map,std::map为std::unordered_map
- 更新文档中关于标准容器的命名和功能描述
- 修复所有测试文件中关于容器类型的断言和期望值
- 调整编译器内部类型标识符从TYPE_STD_UNORDERED_MAP到TYPE_STD_ORDERED_MAP
- 修改解析器中对标准容器类型的判断和处理逻辑
- 更新单元测试中的类型检查和声明获取方法
|
2 months ago |
韩天峰
|
18b4bf4ed6
|
test(phpunit): 添加未定义方法调用和属性访问测试用例
- 添加 undefined-method-call.php 测试文件
- 添加 undefined-prop-access.php 测试文件
- 创建基本的 PHP 对象方法调用测试场景
- 创建基本的 PHP 对象属性访问测试场景
|
2 months ago |
韩天峰
|
e4e63e7b8c
|
fix(php): 修复静态属性引用槽在动态引用绑定后的有效性问题
- 实现了对原生类型静态属性的引用管理机制
- 为整型和浮点型静态属性创建稳定的 zval* 槽位
- 添加了静态属性引用信息的条件检查和初始化逻辑
- 更新了静态属性访问的帮助函数选择机制
- 修改了变量声明生成以统一使用 zval* 类型
- 优化了头文件包含的代码生成格式
- 添加了相关的单元测试验证对象属性操作收集
- 新增了静态属性引用槽崩溃场景的测试用例
|
2 months ago |
韩天峰
|
ad617bcac8
|
test(aot): 添加类继承方法测试用例
- 创建 BaseObject 基类并实现 foo 方法
- 创建 ChildObject 子类继承 BaseObject 并实现 bar 方法
- 添加 foo_test 函数验证基类参数传递和方法调用
- 实现 main 函数进行继承关系测试
- 验证 toObject 方法
|
2 months ago |
韩天峰
|
602e8b34ee
|
feat(compiler): 为嵌入类方法添加混合返回类型推断支持
- 实现了对匿名类和嵌入类方法的混合返回类型自动推断
- 添加了魔术方法返回类型敏感性检测逻辑
- 集成了祖先类方法返回类型的递归检查机制
- 扩展了类继承链中的返回类型声明分析功能
- 优化了内部类和接口方法返回类型的反射检测
- 新增了类方法返回类型未声明时的混合类型注入逻辑
fix(optimizer): 修复对象属性提升优化中的引用槽位安全检测
- 修正了对象暴露给动态代码时的属性引用安全检查机制
- 更新了方法调用和函数调用的安全性判断逻辑
- 重构了对象参数传递时的危险操作检测算法
- 添加了
|
2 months ago |
韩天峰
|
4acb632c13
|
feat(compiler): 为类方法自动推断返回类型并优化属性访问检查
- 在 CompilerBase 中添加类方法返回类型自动推断逻辑
- 为魔术方法设置特定的返回类型标识符
- 移除 isInferredPhpDocType 条件判断简化类型处理
- 更新对象处理器设置使用自定义处理器覆盖 unset 操作
- 修改 SsaPropOptimizer 中的危险属性操作检测逻辑
- 移除对 unset($o->prop) 的特殊处理因为对象处理器已拒绝属性取消设置
- 移除动态调用对象暴露的安全性检查优化性能
- 删除不再需要的 isSafeObjectExposureCall 等辅助方法
|
2 months ago |
韩天峰
|
25aeff51a7
|
refactor(generator): 简化类对象处理器初始化逻辑
- 移除手动初始化 zend_object_handlers 的冗余代码
- 直接使用预定义的 php_aot_object_handlers 全局变量
- 减少代码行数并提高可读性
- 保持相同的功能实现
|
2 months ago |
韩天峰
|
e6c3e22f6e
|
feat(compiler): 添加未定义变量检查和对象处理器初始化
- 在属性访问时检查未定义变量并报告错误
- 初始化类对象处理器以支持对象操作
- 添加对未定义变量属性访问的测试用例
- 添加对未定义变量方法调用的测试用例
- 为动态代码中的类型化属性取消设置添加测试
|
2 months ago |
韩天峰
|
72cf8e7166
|
refactor(php): 优化零值字面量判断逻辑
- 移除多余的变量赋值,直接返回表达式结果
- 统一数值比较操作符的一致性
- 为字符串数值转换添加括号以提高可读性
- 新增对常量和类常量表达式的零值检测支持
- 简化函数中的重复返回语句结构
|
2 months ago |
韩天峰
|
215f5cdcac
|
feat(stub): 添加对推断PHP文档类型的处理支持
- 在ArgInfo构造函数中添加isInferredPhpDocType参数,默认值为false
- 修改beginArgInfoCompatible方法中的有效类型判断逻辑
- 移除未使用的可变参数代码逻辑
- 更新默认参数类型和返回类型推断处理
- 添加mixed类型函数示例文件
- 修复预处理器中参数类型检查的空值判断问题
- 添加void返回类型的基本测试用例
|
2 months ago |
韩天峰
|
785d9c9d6d
|
test(php): 添加 compact 和 globals 相关功能测试用例
- 新增 CompactTest 类测试 compact('this') 在不同上下文中的行为
- 添加 CountGlobalsTest 类测试优化器路径中未定义变量检测逻辑
- 实现 globals 数组访问形式的编译通过验证
- 补充 optimizer-undefined-var.php 测试文件验证错误回退机制
- 添加 globals-array-access.php 测试文件验证数组访问正常编译
- 创建 global.php 示例文件展示全局变量使用方式
|
2 months ago |
韩天峰
|
57517381a1
|
feat(generator): 优化属性默认值生成逻辑支持数组类型
- 添加 simpleType 判断逻辑以识别数组类型
- 实现空数组默认值的特殊处理机制
- 新增 hasNullDefault 和 useEmptyArrayDefault 判断条件
- 修改默认值生成流程以支持数组类型的 ZVAL_EMPTY_ARRAY
- 添加静态类属性表达式测试用例验证功能
- 重构代码结构提高可读性和维护性
|
2 months ago |
韩天峰
|
dc5c90044b
|
fix(php): 修复$GLOBALS变量处理问题
- 在CompilerBase.php中为$GLOBALS添加特殊处理逻辑,使用php_globals_array()创建独立副本
- 在FuncCallOptimizer.php中优化函数调用时对$GLOBALS的处理
- 移除Translator.php中$GLOBALS的全局变量初始化代码
- 避免直接操作$GLOABLS符号表的引用计数
- 确保$GLOBALS在各读取位置都通过安全方式访问
|
2 months ago |
韩天峰
|
f63084f8d4
|
test(aot): 添加数组中null作为键的测试用例
- 创建了null作为数组键的测试文件
- 验证了多个null键值对的处理逻辑
- 确认了数组索引从0开始的预期行为
- 测试了字符串值的正确赋值功能
|
2 months ago |
韩天峰
|
129fcce880
|
fix(php): 修复全局变量处理和代码格式化问题
- 将默认代码格式化功能从禁用改为启用
- 添加 GLOBALS 超全局变量到类型映射数组
- 在函数调用优化器中检查参数变量是否存在避免动态调用错误
- 为全局变量添加线程本地存储支持
- 实现 GLOBALS 超全局变量的特殊初始化逻辑
- 修复全局变量清理过程中的 GLOBALS 处理
|
2 months ago |
韩天峰
|
99c3dec641
|
feat(php): 添加魔术方法类型推断支持
- 在 ArgInfo 类中添加 undeclared 属性用于标识未声明类型
- 在 FunctionDef 类中添加 returnTypeUndeclared 属性用于标识返回类型未声明
- 实现 getMagicMethodDefaultReturnType 函数为魔术方法提供默认返回类型映射
- 实现 getMagicMethodDefaultParamType 函数为魔术方法提供默认参数类型映射
- 更新魔术方法检测器中的类型检查逻辑,支持未声明类型的自动填充
- 重构 MagicMethodDetector 中的参数验证,为不同魔术方法设置正确的类型约束
- 添加对魔术方法参数和返回类型的自动类型补全功能
|
2 months ago |
韩天峰
|
1e6fb4972a
|
feat(php): 支持 compact 函数中的 'this' 变量
- 添加了对 compact('this') 的支持,允许在类方法中使用 this 变量
- 实现了 'this' 变量的特殊处理逻辑,避免未定义变量错误
- 添加了类上下文检查,防止在类外部使用 compact('this')
- 创建了新的测试文件来验证 compact('this') 在不同场景下的行为
- 更新了函数调用优化器以正确处理 'this' 变量的特殊情况
|
2 months ago |
韩天峰
|
989395d7e1
|
fix(php): 修复常量比较的大小写敏感问题
- 修改 isScalarBool 方法使用 strtolower 进行不区分大小写的布尔值比较
- 修改 getBoolValue 方法使用 strcasecmp 替代严格相等比较
- 修改 isNull 方法使用 strcasecmp 进行不区分大小写的 null 比较
- 在 getConstantValue 中使用 strcasecmp 替代严格相等比较
- 在 getTypeFromConstant 中使用 strcasecmp 替行不区分大小写的布尔值检查
- 添加对函数内部声明函数的错误检查
- 添加测试用例验证布尔数组排序功能
|
2 months ago |
韩天峰
|
397bfc9fbb
|
refactor(php): 优化编译器参数引用检测逻辑
- 修改 CompilerBase.php 中 isPassedByReference 方法,增加对变长引用参数的支持
- 添加 Reflection::getVariadicParameter 方法用于获取可变参数的引用信息
- 修复 toReference 空链情况下的调用逻辑,改为使用成员函数形式
- 新增 array-multisort 函数的测试用例验证正常参数功能
|
2 months ago |
韩天峰
|
e0f6de8480
|
feat(aot): 添加对any类型声明的支持并优化参数信息生成
- 添加了012、013、014测试用例验证类型声明功能
- 将any类型作为内置伪类型处理,映射为mixed类型
- 支持方法签名中的any返回类型注解
- 实现PHPDoc类型与实际类型的合并处理逻辑
- 为非可变参数函数自动添加尾随可变参数支持
- 修复了回调函数传递额外参数时的类型处理问题
|
2 months ago |
韩天峰
|
cba9990e80
|
refactor(parser): 重构零值字面量检测逻辑
- 将 isZeroLiteral 方法从 BinaryOpTrait 移动到 CompilerBase 类中
- 为 isZeroLiteral 方法添加详细的文档注释说明其用途
- 添加 targetPlatform 配置选项支持交叉编译目标平台
- 修复对象属性测试用例中的数组索引访问功能
- 在 array_sum 和 array_product 测试中添加错误报告控制
|
2 months ago |
韩天峰
|
8267ae2bf4
|
feat(build): 添加交叉编译目标平台支持
- 在 Clang 和 GCC 编译器后端中添加 --target 参数支持
- 添加 target-platform 配置选项的常量定义
- 在命令行参数解析中添加对 target-platform 的支持
- 将 target-platform 配置传递给编译器命令生成逻辑
- 更新帮助文档显示新的交叉编译选项
- 支持指定交叉编译目标三元组 (如 aarch64-linux-gnu)
|
2 months ago |
韩天峰
|
22c2d17954
|
feat(cli): 添加 no-color 命令行选项并清理帮助文档
- 添加 no-color 参数用于禁用 ANSI 颜色输出
- 移除帮助文档中过多的命令行示例
- 简化 CLI 帮助界面以提高可读性
|
2 months ago |
韩天峰
|
4e7acaf940
|
feat(compiler): 添加目标CPU指令集优化支持
- 在 Clang 和 GCC 后端中添加 -march 参数支持
- 新增 --march <arch> 命令行选项用于指定目标CPU架构
- 在 CompilerBase 中添加 march 属性和 getter 方法
- 更新文档说明 --march 选项的用法和常见值
- 在常量定义中注册 march 参数配置
- 在翻译器中解析和处理 --march 命令行参数
- 将 march 配置传递给编译后端命令构建过程
|
2 months ago |
韩天峰
|
8f3f3e73eb
|
refactor(php): 简化配置项读取逻辑
- 移除对下划线格式配置键的支持,统一使用中横线格式
- 更新 cxx-flags 配置项读取方式
- 更新 cxx-std 配置项读取方式
- 更新 ld-flags 配置项读取方式
- 更新 link-libs 配置项读取方式
- 更新 link-paths 配置项读取方式
- 更新 cpp-compiler 配置项读取方式
|
2 months ago |
韩天峰
|
02a91bba95
|
feat(compiler): 添加外部库集成和编译优化功能
- 支持通过 -I/--include-path 添加自定义头文件搜索路径
- 支持通过 -D/--define 定义预处理器宏用于条件编译
- 实现 LTO 链接时优化功能 (--lto) 提升性能和减小体积
- 添加 clang-format 代码格式化支持 (--format)
- 支持通过 -l/-L 参数链接外部库和指定库搜索路径
- 添加配置文件方式定义链接库和搜索路径
- 更新文档包含新功能使用说明和示例
|
2 months ago |