diff --git a/mkfile.bat b/mkfile.bat deleted file mode 100644 index 11854a4..0000000 --- a/mkfile.bat +++ /dev/null @@ -1,49 +0,0 @@ -@echo off -chcp 65001 -setlocal enabledelayedexpansion - -:: 检查参数是否存在 -if "%~1"=="" ( - echo 用法: %~nx0 文件名(不带扩展名) - exit /b 1 -) - -set "NAME=%~1" -set "NAME_UPPER=%NAME:_=_%" -set "NAME_UPPER=%NAME_UPPER:"=%" -for %%A in (%NAME_UPPER%) do ( - set "NAME_UPPER=!NAME_UPPER:%%A=%%~A!" -) -set "NAME_UPPER=!NAME_UPPER:.=_!" - -:: 创建目录结构 -mkdir include\solution 2>nul -mkdir src 2>nul -mkdir tests 2>nul - -:: 生成 include/solution/a.h -( -echo #ifndef INC_!NAME_UPPER!_H -echo #define INC_!NAME_UPPER!_H -echo #ifdef __cplusplus -echo extern "C" { -echo #endif -echo. -echo #ifdef __cplusplus -echo } -echo #endif -echo #endif -) > include\solution\%NAME%.h - -:: 生成 src/a.c -( -echo #include ^ -) > src\%NAME%.c - -:: 生成 tests/test_a.cpp -( -echo #include ^ -echo #include ^ -) > tests\test_%NAME%.cpp - -echo 文件创建完成。 diff --git a/mkfile.py b/mkfile.py new file mode 100644 index 0000000..208a2b1 --- /dev/null +++ b/mkfile.py @@ -0,0 +1,41 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +import sys +import datetime + +if len(sys.argv) != 2: + print("Usage: mkfile.py ") + sys.exit(1) + +filename = sys.argv[1] + +# create header file +with open(f"./include/solution/{filename.lower()}.h", "w") as f: + f.write("// This file is generated by mkfile.py\n") + f.write(f"// Date: {datetime.datetime.now().strftime('%Y-%m-%d')}\n\n") + f.write(f"#ifndef INC_{filename.upper()}_H\n") + f.write(f"#define INC_{filename.upper()}_H\n") + f.write("#ifdef __cplusplus\n") + f.write("extern \"C\"\n") + f.write("{\n") + f.write("#endif\n\n") + f.write("#ifdef __cplusplus\n") + f.write("}\n") + f.write("#endif\n") + f.write(f"#endif // INC_{filename.upper()}_H\n") + f.close() + +# create source file +with open(f"./src/{filename.lower()}.c", "w") as f: + f.write("// This file is generated by mkfile.py\n") + f.write(f"// Date: {datetime.datetime.now().strftime('%Y-%m-%d')}\n\n") + f.write(f'#include \n') + f.close() + +# create test file +with open(f"./tests/test_{filename.lower()}.cpp", "w") as f: + f.write("// This file is generated by mkfile.py\n") + f.write(f"// Date: {datetime.datetime.now().strftime('%Y-%m-%d')}\n\n") + f.write(f'#include \n') + f.write("#include \n") + f.close() \ No newline at end of file diff --git a/mkfile.sh b/mkfile.sh deleted file mode 100644 index 3e250c6..0000000 --- a/mkfile.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# 检查参数 -if [ $# -ne 1 ]; then - echo "用法: $0 <文件名(不带扩展名)>" - exit 1 -fi - -filename="$1" -upper_filename=$(echo "$filename" | tr '[:lower:]' '[:upper:]') - -# 创建目录(如果不存在) -mkdir -p ./include/solution ./src ./tests - -# 创建 ./include/solution/a.h -cat > ./include/solution/"$filename".h < ./src/"$filename".c < -EOF - -# 创建 ./tests/test_a.cpp -cat > ./tests/test_"$filename".cpp < -#include -EOF