⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cl.bat

📁 代码优化,有效使用内存,透视优化技术,对比优化方法,如果你在追求代码效率的最大化,该资源你不能不读.
💻 BAT
字号:
@ECHO OFF

SETLOCAL

REM Initial parsing of the command-line arguments
REM =============================================
	IF #%1#==##					GOTO usage
	IF #%1#==#__typeinfo#				GOTO usage
	IF #%1#==#__class#				GOTO end
	IF #%1#==#/?# 					GOTO help

REM	Initializing variables
REM ==========================
	SET OBJ=
	SET OOPS=
	SET LOGO=
	SET	WL=
	SET WX=
	SET MYLIBS=
	SET MACRO=
	SET C_AS_CPP=


REM Parsing command-line arguments
REM ==============================
GOTO first_parse

:PARSE
	SHIFT

:first_parse
	IF #%1#==#--I# 				GOTO add_include_path
	IF #%1#==#--L# 				GOTO add_lib_path
	IF #%1#==#--o# 				GOTO add_obj
	IF #%1#==#--l#				GOTO add_lib

	IF #%1#==#-release# 			GOTO release
	IF #%1#==#-debug# 			GOTO debug

	IF #%1#==#-nologo# 			GOTO nologo

	IF #%1#==#--w!#				GOTO w_as_err
	IF #%1#==#--cpp#			GOTO c_as_cpp
	IF #%1#==#-macro#			GOTO define_macro

	IF NOT EXIST %1				GOTO err_arg

	GOTO					compil


:add_include_path
	SHIFT
	SET INCLUDE=%INCLUDE%;%1
GOTO PARSE

:add_lib_path
	SHIFT
	SET LIB=%LIB%;%1
GOTO PARSE

:add_obj
	SHIFT
	SET OBJ=%OBJ% %1
GOTO PARSE

:add_lib
	SHIFT
	SET MYLIBS=%MYLIBS% %1
GOTO PARSE

:release
	SET OOPS=/Ox
GOTO PARSE

:debug
	SET OOPS=/Zi
GOTO PARSE

:nologo
	SET LOGO=/nologo
GOTO PARSE

:w_as_err
	SET WL=/W4
	SET WX=/WX
GOTO PARSE

:c_as_cpp
	SET C_AS_CPP=/Tp
GOTO PARSE

:define_macro
	SHIFT
	SET	MACRO=%MACRO%%1
GOTO PARSE


:compil
	IF NOT #%MACRO%#==## SET MACRO=/D%MACRO%
	cl.exe %OOPS% %LOGO% %WL% %WX% %MACRO% %C_AS_CPP%%1 %OBJ% %2 %3 %4 %5 %6 %7 %8 %9 %MYLIBS%
GOTO end

:help
	cl.exe -?
GOTO END

:usage
	ECHO USAGE cl.bat [-key] file_name.c [options]
	ECHO.
	ECHO = = = KEY = = =
	ECHO --I path            - path to include files
	ECHO --L path            - path to libraries
	ECHO --l library.lib     - link library
	ECHO --o file.obj        - link obj-錉┇
	ECHO -release            - compiling with max. optimization
	ECHO -debug              - include debug info
	ECHO -nologo             - suppress logo
	ECHO --w!                - interpret warnings as errors
	ECHO --cpp               - interpret .c as .cpp
	ECHO.
	ECHO NOTE:
	ECHO	1) When it is necessary to link several libraries
	ECHO (or specify several paths) it is allowed to specify appropriate
	ECHO keys several times, for example: 
        ECHO cl.bat --l my.lib --l user.lib myfile.c
	ECHO	2) When specifying mutually exclusive options
        ECHO (for example,  -release & -debug)
	ECHO their cumulative effect is undefined
	ECHO.
	ECHO = = = file_name.c = = =
	ECHO 	In the current version only one c-file can be specified.
	ECHO If it is necessary to compile several files, they must be
	ECHO compiled separately and then linked as obj-files
	ECHO.
	ECHO = = = OPTIONS = = =
	ECHO	All options specified before the filename (to the left from it)
	ECHO it passed to the compiler AS IS.

GOTO end

:err_arg
	ECHO -ERR: unknown command-line argument:"%1"
GOTO end

:end
ENDLOCAL
SET __class__=compil


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -