windows平台下用eclipse开发c和c++程序

来源:互联网 发布:首届全球程序员节logo 编辑:程序博客网 时间:2024/06/05 08:29

          既然用eclipse进行开发c程序,因为eclipse是用java开发的,所以如果允许eclipse那就肯定的用到jdk。而用eclipse开发c程序,首先的安装CDT,其实也就是eclipse的c插件,就是让eclipse具有开发c程序的一些快捷功能,比如能使eclipse在新建项目的时候具有 new  c project 和new c++ project ,以及调用c或c++编译器编译运行。而编写c或c++则需要类似于开发java程序需要jdk一样具有运行环境。在Windows平台上,将需要安装 Cygwin 工具箱(请参阅 参考资料以获得链接)。Cygwin 是用于 Windows 的类 UNIX 环境,它包括 GCC 移植以及所有必需的开发工具,包括 automake 和 GNU 调试器(GNU Debugger,GDB)。Cygwin 是在cygwin1.dll 库基础上构建的。Cygwin 的备用解决方案是 Minimalist GNU for Windows(MinGW)(请参阅参考资料以获得链接)。该工具是一组可免费获取、自由分发的特定于 Windows 的头文件和导入库,这些头文件和导入库与 GNU 工具集(它们允许您生成不依赖于任何第三方 DLL 的本机 Windows 程序)结合在一起。如果您想要创建与 POSIX 兼容的 Windows 应用程序,那么 MinGW 是最佳选择。MinGW 甚至可以在 Cygwin 安装之上工作。

           因此总结下来,需要安装的软件有JDK、eclipse、CDT、MinGW

          这里,我的安装环境则是

                                                  Win7 32位

                                                   jdk1.7.0_03

                                                  eclipse-cpp-juno-SR2-win32(包含CDT)

                                                  mingw-get-inst-20120426.exe

                                                

             好了,开始安装

            第1、安装jdk,这里就不具体说了

            第2、安装mingw ,下载地址http://www.mingw.org/download.shtml,下载完后双击安装包,一切按默认设置,一路的“下一步”以后就能搞定。

              

                                                        图1、安装minwin时,选择需要安装的编译器

                

                  安装完后,环境变量可能会在安装过程中自动设置好,在cmd中输入gcc测试一下,假如显示gcc: no input file ,则安装已成功。

否则,自己把c:/mingw/bin的目录手动加到环境变量(path)里面。

            

                                    图2 minwin安装成功

           第3、这个时候其实已经可以在windows平台下进行c程序的编写,编译,运行了,测试如下

           新建hello.c的文件,内容如下:   

#include <stdio.h>   int main(int argc, char **argv)  {   printf ("Hellon");   return (0);  }


保存。

编译

gcc -c hello.c  

 这个命令把hello.c编译成一个目标文件hello.o,然后用下面的方法

gcc -o hello hello.o 

 这个命令从hello.o文件生成一个可执行的hello.exe文件

运行

在cmd下面输入 hello.exe运行,可看到输出结果。

事实上,作为一种选择,你可以使用下面的命令把编译和链接放到一步中完成:

gcc -o hello hello.c

 

        第4,好了至此环境已经基本安装完成,主要是minwin,如下

 

                                                                                                  图3 minwin bin目录

要确保此目录下面有 gcc.exe gdb.exe(调试程序),make.exe

            然后解压下载的eclipse-cpp-juno-SR2-win32,直接运行即可。

             第5,在eclipse里面开发c程序。首先new c project

                                                                      图4 eclipse中新建c项目

这里在左边executable里选择empty project ,有吧选择mingw gcc即可,点击next直至结束。这时可以看到的项目如下:

 

 

 

                                                                                                             图5 初始结构

然后选择项目名,右键选择新建目录名 src,然后再src上面右键选择新建 c source file 输入文件名即可,如图:

                                                                                                      图6 编译前项目结构

然后,右键项目名,选择build project ,之后结构如下:

                                                                                             图7  build project 之后

 然后右键项目名,run as  local c /c++ project 即可运行。

                  好了,至此windows平台下已经可以用eclipse开发c程序了。

              

 

 

                  插曲:

                  1、开发windows窗口程序

                 文件名:hellowindows.c

#include <windows.h>   int WINAPI WinMain (HINSTANCE hInstance,    HINSTANCE hPrevInstance,    PSTR szCmdLine,    int iCmdShow)   {   MessageBox (NULL, "Hello", "Hello Demo", MB_OK);   return (0);  } 


 

gcc -o hellowindow hellowindow.c -mwindows
编译,运行。-mwindows用来说明要创建的是Windows应用程序而非从终端执行的程序,它确保正确的Windows库被链接。要同时得到一个终端屏幕和标准的Windows
应用程序,在-mwindows标志后面增加一个-mconsole标志。

 

          2、创建dll文件

                 创建dllfct.h 文件,内容如下

     

#ifdef BUILD_DLL    // the dll exports   #define EXPORT __declspec(dllexport)   #else   // the exe imports   #define EXPORT __declspec(dllimport)   #endif   // function to be imported/exported   EXPORT void tstfunc (void); 



创建dllfct.c 文件,内容如下

 

#include <stdio.h>   #include "dllfct.h"   EXPORT void tstfunc (void)  {   printf ("Hellon");  } 



 创建hello.c 文件,内容如下 


编译,运行。

gcc -c hello.c  

#include "dllfct.h"   int main ()  {   tstfunc ();   return (0);  } 



gcc -c -DBUILD_DLL dllfct.c
gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o  
gcc -o hello.exe hello.o -L./ -ltstdll

如图:

                                                                       图8 创建dll文件

 

                     3、eclipse版本介绍

 

          2001年11月7日 ,Eclipse 1.0发布 
半年之后,2002年6月27日Eclipse进入了2.0时代。2.0时代的Eclipse经历了2.0和2.1两个大的版本。其中2.0在 之后又推出了2.0.1和2.0.2,而之后在2003年3月27日推出的2.1版本,也接连推出了2.1.1,2.1.2和2.1.3三个后续修订版本。  

           2004年6月25日 对Eclipse来说是一个值得记住的日子,进入3.0时代的Eclipse采用了OSGi运行时架构。这一年 Eclipse基金会成立,这也标志着Eclipse即将进入一个新的时代。3.0后有两个小的修订版本3.0.1和3.0.2。详细的发布时间信息请参 看Eclipse官网http://archive.eclipse.org/eclipse/downloads/index.php 


        2005年6月27日 Eclipse 3.1发布,之所以要特别提一下3.1,是因为从这个版本开始一直到还没有发布的3.5版,形成了一个以木星卫星名称相关的系列。1610年,著名的科学 家伽利略通过对木卫1-木卫4的观察,提出了反驳地心说的证据,木卫1-木卫4因此也被称之为伽利略四大卫星(木星还有很多之后发现的其它卫星)。这四大 卫星还被分别赋予了四个神话传说中人物的名字: 
木卫1:IO,伊奥 
木卫2:Europa,欧罗巴 
木卫3:Ganymede,盖尼米德.(值得一提的是早于伽利略2000年前,有记录表明战国时期中国的甘德在公元前346年就已发现了木卫3) 
木卫4:Callisto,卡里斯托


(取这四个人的名字,一个很重要的原因可能就在于这四个人物都以俊美著称)

但是Eclipse从3.1到3.4的命名(codename)并非按照木卫1-4的顺序,而是根据这四颗卫星距离木星从近到远的顺序,因此 Eclipse 3.1就使用了木星已知卫星中第1近的木卫1——IO来命名,Eclipse 3.2就使用木卫4——Callisto距木星(所有木卫中)第4近,Eclipse 3.3采用了木卫2——Europa(第6近),剩下最远的木卫3--Ganaymede就送给了Eclipse 3.4。 

下面是目前已知的版本代号 

Eclipse 3.1 版本代号 IO 【木卫1,伊奥】
Eclipse 3.2 版本代号 Callisto 【木卫四,卡里斯托 】
Eclipse 3.3 版本代号 Eruopa 【木卫二,欧罗巴 】
Eclipse 3.4 版本代号 Ganymede 【木卫三,盖尼米德 】
Eclipse 3.5 版本代号 Galileo 【伽利略】
Eclipse 3.6 版本代号 Helios 【太阳神】
Eclipse 3.7 版本代号 Indigo 【靛青】[处于计划阶段]