Tip
这是一个为竞争性编程领域(如:OI、ACM)设计的启用 最严格的编译参数 的单文件编译脚本。 🚀
English
| 简体中文
- 使用最严格的编译参数编译 C++ 文件,并附加一些辅助调试标志。
- 自动检测测试样例文件(
*.in
),并将输出重定向到*.ans
。
-
从发布页面下载
make.sh
文件:您可以先把该仓库 clone 到本地,并尝试
./demo
文件夹下的各种示例文件。你也可以用
curl
直接下载最新版的文件:curl -O https://raw.githubusercontent.com/Estrella-Explore/gcc_strict-flags/main/make.sh
-
安装方法
chmod +x ./make.sh sudo cp ./make.sh /usr/bin/fkccf
-
使用 C++ 文件运行脚本:
fkccf <your_file.cpp>
-
功能:
- 编译: 脚本将编译提供的 C++ 文件并生成可执行文件(
*.out
)。 - 自动化测试: 如果存在
<filename>.in
文件,脚本会提示是否将其作为标准输入提供给你的程序,并将输出保存为<filename>.ans
。
- 编译: 脚本将编译提供的 C++ 文件并生成可执行文件(
- g++: 确保已安装支持 C++14 或更高版本的
g++
(推荐使用g++
的最新版本,目前为g++ 14.2.1
)。
注:在 Windows 下你可以选择 MinGW 或者 CygWin。 - Bash: 该脚本适用于 Bash 环境(Linux、macOS、WSL、Git Bash 等)。
假设有一个文件 example.cpp
:
-
运行脚本:
fkccf example.cpp
-
如果存在
example.in
文件,脚本会提示:[Info]: Test case example.in detected. ------> Use this test case as stdin? [Y/n]
-
如果输入
y
或者直接按下Enter
,程序会把example.in
作为输入文件,而输出将保存到example.ans
并显示在终端中。
该项目基于 GPLv3 许可证 进行授权。