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

fengdream 2007-07-12 03:59:07
习惯了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好像不标准,否则可以在任意目录下安装运用了。。。
...全文
334 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengdream 2007-07-13
  • 打赏
  • 举报
回复
UP
fengdream 2007-07-13
  • 打赏
  • 举报
回复
一个文件还用SourceInsight?一群文件你的脚本行不行啊?还有gcc.exe要怎么才标准啊?
---------------------------------------------------------------------------
一群文件可以在每个模块建立一个makefile,只要处理好相互关系,一个make命令就能全部搞定了!这个gcc.exe好像是跟dev c++邦定了,所以到别的目录就提示错误。
fengdream 2007-07-13
  • 打赏
  • 举报
回复
搞这么复杂做什么,SI编辑完了,用mpc生成一个dsp文件不就可以了..
---------------------------------------
您指的mpc是什么意思啊?还请说明。。。
si的环境确实可以配置,但是感觉不好用 。


  • 打赏
  • 举报
回复
还是用VS比较方便一些
iambic 2007-07-12
  • 打赏
  • 举报
回复
一个文件还用SourceInsight?一群文件你的脚本行不行啊?还有gcc.exe要怎么才标准啊?

有些小项目(尤其是wx项目)我用EditPlus + Bakefile。
foochow 2007-07-12
  • 打赏
  • 举报
回复
搞这么复杂做什么,SI编辑完了,用mpc生成一个dsp文件不就可以了..
bygreencn 2007-07-12
  • 打赏
  • 举报
回复
已经在用了,装个cygwin吧
或者弄个codeblock吧
fengdream 2007-07-12
  • 打赏
  • 举报
回复
ls大哥
SI指的是什么啊?
这么做确实调试麻烦点。
mLee79 2007-07-12
  • 打赏
  • 举报
回复
偶记得 SI 很好配编译环境吧, 只是调试麻烦点 ...
bargio_susie 2007-07-12
  • 打赏
  • 举报
回复
laiwusheng 2007-07-12
  • 打赏
  • 举报
回复
彪!
顶!

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧