读书人

摆脱ide束缚windows下使用仿shell解

发布时间: 2012-03-15 11:50:39 作者: rapoo

摆脱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好像不标准,否则可以在任意目录下安装运用了。。。


[解决办法]
彪!
顶!
[解决办法]

[解决办法]
偶记得 SI 很好配编译环境吧, 只是调试麻烦点 ...
[解决办法]
已经在用了,装个cygwin吧
或者弄个codeblock吧
[解决办法]
搞这么复杂做什么,SI编辑完了,用mpc生成一个dsp文件不就可以了..

读书人网 >C语言

热点推荐