1. -run 脚本模式完善
- shebang 脚本 (#!/usr/bin/env pcc -run) 支持
- -rstdin 自定义输入、argv 参数传递
- win32/pcc-run.cmd 便捷启动器
2. -O2 优化等级
- -O0/-O1/-O2/-O3/-Os 全等级验证
- __OPTIMIZE__ 宏正确设置,常量折叠生效
3. C17 全特性
- 默认标准改为 C11 (__STDC_VERSION__=201112L)
- 新增 -std=c17/c18/c99/c89 支持
- _Generic/_Atomic/_Alignas/匿名结构/TLS 全通过
4. pcmake 构建工具 (tools/)
- 纯 C 编写,用 pcc 自身编译
- pcmake.conf 配置: sources/include/libs/output/flags
- CreateProcess 正确处理带空格路径
- pcmake.bat 一键构建 + clean
- 示例: examples/demo 多文件项目
5. 多线程库封装
- win32/include/pthread.h: POSIX 线程 Windows 实现
(CreateThread 封装, 事件驱动条件变量, 惰性初始化互斥锁)
- win32/include/threads.h: C11 标准线程 <threads.h>
- 4线程并发/互斥/条件变量/生产者消费者 测试通过
22 行
647 B
Batchfile
22 行
647 B
Batchfile
@echo off
|
|
rem ============================================================
|
|
rem pcc-run.cmd - run a C source file directly (script mode)
|
|
rem
|
|
rem Usage:
|
|
rem pcc-run hello.c [args...]
|
|
rem pcc-run myscript [args...] (no extension works too)
|
|
rem
|
|
rem This compiles the C file in memory and runs it immediately,
|
|
rem just like a script. No .exe file is produced.
|
|
rem ============================================================
|
|
setlocal
|
|
set "PCCDIR=%~dp0"
|
|
|
|
if "%~1"=="" (
|
|
echo Usage: pcc-run script.c [arguments...]
|
|
exit /b 1
|
|
)
|
|
|
|
"%PCCDIR%pcc.exe" -B "%PCCDIR%win32" -I "%PCCDIR%include" -L "%PCCDIR%lib" -run %*
|
|
exit /b %errorlevel%
|