摆脱ide束缚,windows下使用仿shell
习惯了sourseInsight的智能编辑功能,却不能如ide的编辑编译一体化的便利。而ide的编辑功能实在令人不敢恭维,难道每次用sourseInsight编辑好了,之后粘贴到ide去编译调试吗?
突然想,如果windows也有使用一个shell,用sourseInsight编辑好了,直接在shell里用一个make命令去编译、改错,岂不快哉?于是,花了一点时间,在网上找了些资料,配合dev c++,做了这么个东西。cywin好像已经实现了这个功能,欢迎大家排砖啊!
功能:在windows平台下运行批处理命令,从而能实现shell的相关功能:键入一个make命令就完成编译,还可以有相应的错误警告提示,和结果显示等。
实现:1。建立1.bat
//1.bat
@echo off
rem========== Setting up working environment ===========
set CURR_DIR=%cd%
set ARCH_ROOT=%cd%
rem ==================toolset==============================================
rem Search path for executables to be used
set PATH=%ARCH_ROOT%\bin;
rem %windir%\system32;%windir%;
echo First test version by fengdream
echo ===================================================================
echo Setting environment variables for the arch tree...
echo ARCH_ROOT(%ARCH_ROOT%)
echo ===================================================================
echo Setup done, ready to work...
cd %CURR_DIR%
//end of 1.bat
2。建立一msdos的快捷方式命名为shell(名字随便起),其参数配置为%windir%\system32\cmd.exe /K "1.bat"。即右击快捷方式的目标里面。
3。两个文件放到dev c++根目录下。就ok了,然后就可以在该目录下建立源文件和makefile,然后,双击快捷方式即shell,打开仿shell。编译时,只需一个make命令键入到仿shell里就ok了。呵呵
4。一个小例子:根目录下建立project文件夹,建立main.c和makefile
各自内容如下:
//main.c
#include "stdio.h"
int main()
{
printf("Hello World!\n") ;
return 0;
}
//end of main.c
//makefile
CC = gcc.exe
RES =
OBJ = main.o $(RES)
LINKOBJ = main.o $(RES)
LIBS = -L"C:/Dev-Cpp/lib"
INCS = -I"C:/Dev-Cpp/include"
BIN = Action
CFLAGS = $(INCS)
RM = rm -f
.PHONY: all all-before all-after clean clean-custom
all: all-before Action all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o "Action" $(LIBS)
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
//end of makefile
然后打开仿shell, cd 到 project文件夹,键入make 命令,生成了Action.exe,键入Action.exe,显示运行结果:
Hello World!
BUG:现在还不能脱离dev c++,因为那个gcc.exe好像不标准,否则可以在任意目录下安装运用了。。。