找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18342|回复: 1

[其他] 批处理版gcc编译器

[复制链接]
发表于 2017-5-23 20:17:36 | 显示全部楼层 |阅读模式
本帖最后由 happy886rr 于 2017-5-23 20:20 编辑

城通网盘下载:https://page37.ctfile.com/fs/14274637-203903157
发个自己写的批处理版gcc编译器,仅有5M大小,对于.c或.cpp后缀的文件,直接拖拽到MinGW.cmd图标上,瞬间编译出exe文件,所编译的exe体积超小,不依赖任何运行库。该工具也是自己的主要开发工具:记事本+批处理gcc。可以开发绝大多数第三方,黑窗口比用IDE更快、更轻便。

演示:用批处理版gcc编译的pdll仅有8KB,且无dll依赖。


脚本代码:
  1. @echo off&color 0f
  2. ::*********************用户设置********************
  3. REM 用户指令
  4.   set USER_COMMAND=

  5. ::*********************高级设置********************
  6. REM 环境变量
  7.   set "PATH=%~dp0MinGW\bin;%PATH%"
  8. REM 优化参数
  9.   set "OPTIMIZATION_COMMAND=-std=gnu99 -O2 -s"
  10.   set "OPTIMIZATION_COMMAND++=-O2 -s"
  11. REM 编译器项
  12.   set "COMPILER=gcc.exe"
  13.   set "COMPILER++=g++.exe"

  14. ::*********************后缀筛选********************
  15. if /i "%~f1"==""     (goto :CMD_CONSOLE     )
  16. if /i "%~x1"==".c"   (goto :MINGW32_COMPILER)
  17. if /i "%~x1"==".cpp" (
  18.         set "COMPILER=%COMPILER++%"
  19.         set "OPTIMIZATION_COMMAND=%OPTIMIZATION_COMMAND++%"
  20.         goto :MINGW32_COMPILER
  21. )
  22. set/p=Error: 非.c或.cpp后缀文件
  23. exit /b

  24. MINGW32_COMPILER()
  25. {
  26.         :MINGW32_COMPILER
  27.                 pushd "%~dp1"
  28.                 echo ================================================================================
  29.                 echo  Mingw32 compiler 编译器
  30.                 echo ================================================================================
  31.                 echo  编译...
  32.                 %COMPILER% "%~nx1" %OPTIMIZATION_COMMAND% %USER_COMMAND% -o "%~n1.exe"
  33.                 echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  34.                 echo  运行...
  35.                 if exist "%~n1.exe" ("%~n1.exe")
  36.                 echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  37.                 echo  结束.
  38.                 pause>NUL
  39.                 exit /b
  40. }

  41. CMD_CONSOLE()
  42. {
  43.         :CMD_CONSOLE
  44.                 echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  45.                 echo [GCC console]
  46.                 set/p PCOMMANDLINE=^>
  47.                 %PCOMMANDLINE%
  48.                 echo;
  49.                 goto :CMD_CONSOLE
  50. }
复制代码

评分

参与人数 3技术 +3 收起 理由
14270a + 1 +1
老刘1号 + 1 高产
freesoft00 + 1 +1

查看全部评分

发表于 2025-6-19 09:03:32 | 显示全部楼层
大佬资源过期了, 能补一下吗, 多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:57 , Processed in 0.017281 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表