// 独立测试原生链接器
// 用法: rustc test_native_linker.rs --edition 2021 -L target/debug/deps -o test_linker.exe && ./test_linker.exe

use std::fs;

fn main() {
    println!("=== 测试原生链接器 ===\n");

    // 读取现有的 test.o（由 --test 模式生成）
    let test_o = fs::read("test.o").expect("找不到 test.o，先运行 cargo run -- --test");
    
    // 读取 runtime_nocrt.o
    let runtime_o = fs::read("runtime_nocrt.o").expect("找不到 runtime_nocrt.o");
    
    // 读取 start_nocrt.o
    let start_o = fs::read("start_nocrt.o").expect("找不到 start_nocrt.o");

    println!("test.o: {} bytes", test_o.len());
    println!("runtime_nocrt.o: {} bytes", runtime_o.len());
    println!("start_nocrt.o: {} bytes", start_o.len());

    // 这里我们会调用 native_linker，但由于这是独立测试文件，
    // 实际测试需要在 ts-native 项目中运行
    println!("\n请使用 cargo test 运行单元测试");
}
