1. -b bounds-checking 内存安全 - 编译 bcheck.o/bt-exe.o/bt-log.o 运行时 - 数组越界/野指针检测,精确定位文件和行号 - 测试: strcpy 溢出和数组越界均被捕获 2. pcc-asm 汇编查看工具 (bin/pcc-asm.exe) - 反汇编 pcc 生成的二进制 (调用 llvm-objdump) - 查看 x86-64 机器码与汇编指令 3. pcc-impdef DLL导入工具 (bin/pcc-impdef.exe) - 解析 PE 导出表生成 .def 文件 - 测试: kernel32.dll 1693 个导出全部正确解析 4. pcc-get 包管理器 (bin/pcc-get.exe) - install/remove/list/root 命令 - 支持本地包目录和 URL 下载安装 - 安装头文件到 include/、库到 lib/ - 测试: mymath 包安装→编译→链接→运行 全流程 5. 交叉编译演示 - 构建 ARM64 交叉编译器 (pcc-arm64.exe) - 构建 RISC-V 交叉编译器 (pcc-riscv64.exe) - 生成 elf64-littleaarch64 / elf64-littleriscv 对象 - 反汇编验证: 真正的 ARM64/RISC-V 机器码
95 行
1.2 KiB
Plaintext
95 行
1.2 KiB
Plaintext
*~
|
|
\#*
|
|
.#*
|
|
*.o
|
|
*.a
|
|
*.exe
|
|
*.dll
|
|
*.obj
|
|
*.pdb
|
|
*.lib
|
|
*.exp
|
|
*.log
|
|
*.bz2
|
|
*.zip
|
|
.gdb_history
|
|
a.out
|
|
tcc_g
|
|
tcc
|
|
tcc_c
|
|
tcc_p
|
|
*-tcc
|
|
libtcc*.def
|
|
|
|
config*.h
|
|
*_.h
|
|
config*.mak
|
|
config.texi
|
|
conftest*
|
|
c2str
|
|
tags
|
|
TAGS
|
|
tcc.1
|
|
*.pod
|
|
*.tcov
|
|
tcc-doc.html
|
|
tcc-doc.info
|
|
|
|
win32/doc
|
|
win32/examples/libtcc_test.c
|
|
win32/libtcc
|
|
win32/lib/32
|
|
win32/lib/64
|
|
win32/include/float.h
|
|
win32/include/stdalign.h
|
|
win32/include/stdarg.h
|
|
win32/include/stdbool.h
|
|
win32/include/stddef.h
|
|
win32/include/stdnoreturn.h
|
|
win32/include/varargs.h
|
|
win32/include/tcclib.h
|
|
win32/include/tccdefs.h
|
|
win32/include/stdatomic.h
|
|
win32/include/tgmath.h
|
|
|
|
tests/tcctest[1234]
|
|
tests/tcctest.gcc
|
|
tests/*.out*
|
|
tests/*.ref
|
|
tests/*.txt
|
|
tests/*.gcc
|
|
tests/*-cc*
|
|
tests/*-tcc*
|
|
tests/libtcc_test
|
|
tests/libtcc_test_mt
|
|
tests/asm-c-connect
|
|
tests/asm-c-connect-sep
|
|
tests/vla_test
|
|
tests/hello
|
|
tests/tests2/fred.txt
|
|
libtcc.dylib
|
|
|
|
# Release packages
|
|
release/
|
|
*.zip
|
|
|
|
# Build output (self-contained toolchain)
|
|
bin/include/
|
|
bin/lib/
|
|
bin/*.o
|
|
bin/*.obj
|
|
|
|
|
|
# Allow toolchain binaries in bin/ to be committed
|
|
!bin/
|
|
bin/*
|
|
!bin/pcc.exe
|
|
!bin/pcmake.exe
|
|
!bin/libpcc.dll
|
|
!bin/libpcc1.a
|
|
!bin/pcc-arm64.exe
|
|
!bin/pcc-riscv64.exe
|
|
!bin/pcc-asm.exe
|
|
!bin/pcc-get.exe
|
|
!bin/pcc-impdef.exe
|