• Devcpp 小型指南,原载于CSDN论坛 Anthony


    Dev-cpp是一个GCC在win32下的IDE程序,用Dephi 5编写,只有2M
    具有以下功能:

       1.集成编译环境,支持工程模板.
       2.支持语法加高,自动注释,对中文的支持也不错.
       3.支持CVS集成
       4.支持源码分析,可以形成类树图.
       5.支持扩展包.

    Dev-cpp官方发布有集成MinGW32 gcc编译套件,最新支持GCC 3.3(2003-7-15)
    也可以支持MinGW其它版本和Cygwin gcc的各个版本.不过需要手动设置.

    Dev-cpp支持多语言环境,中文版界面由我的好友nyra(nyra@sohu.com)维护,如果
    大家发现中文版有翻释问题可以找她.如果有兴趣翻译帮助文件,也请联系.

    Dev-cpp有两个常用版本,一是开发中的5.0beta,最新一版是4.9.8.0
    另一个是4.01,是4.0的修正版(其中集成Gcc 2.9.5),前者功能较多,而后者较稳定.

    图形化环境我就不多说了,和VC的用法类似,其实大家问题多集中于Gcc本身.

    GCC, GCC和gcc不同的东西.前者是Gnu的编译环境,包括gcc, g++, gcj等多种语言的编译器
    和as(汇编), ar(库), ld(联接器)等一系统编译工具.gcc是GCC中C语言的编译器,g++是
    C++语言的编译器.

    GCC被移植到多种操作系统中,在Win32上最著名是MinGW和Cygwin两个版本,MinGW的全称是
    Minial GCC for Windows,如题,它是Win32上的一个小型GCC,只包括最少的GCC组件<10M
    而Cygwin就是一个Unix On Windows的大系统,全部下载有300多兆,Unix下的大多数软件
    在Cygwin中都有移植版,包括X-windows.还有一个for Dos-32 的GCC,名叫Djgpp,与Mingw的
    目标类似,不同的是它是一个以MZ为目标程序的可以在非Win32环境下运行(例如FreeDOS)
    它们都移值了GCC官方发布的最新版GCC.

    下面集中力气讲GCC 3.2以及Mingw移植版.

    GCC3.2(G++)号称是对C++标准支持最好C++编译器,真否不确.(因为VC7.0也说它是)但是
    有一点很明确,在没做特殊配置的情况下,G++只支持标准C++语法,不再对早期的非标准
    C++语法进行支持.所以VC下的C++程序很多不能运行.BC++3.1等(很多教科书的目标平台)
    的例程也不支持.所以,请在问为什么我的程序在XX编译器中可以运行,而到了Dev-cpp
    中不能编译之类问题前,首先请查看你的程序是不是真正的没错.

    Dev-cpp对以cpp,cxx为扩展名的文件默认使用G++编译,所以如果你的C语言程序请以c为扩展
    名,不然很可能出错,请记住C和C++是两种不能的语言,它们并非完全兼容.
    C++的标准是C++ 98,而语言的新标准是C99,但它们都要收费,推荐B.S.的C++ Programming
    Language做为C++的标准参考书.当然如果以C++ 98标准为参考也不错.

    MinGW包括:gcc,g++,gdb和binary utils以及一个msys环境(单独下载),前面几项都是命令行
    程序.MinGW除了标准c++库和标准C库,还包括一个称为w32api的Win32库和openGL库.

    目录结构如下:(如果你下载的Devcpp,它们在Dev-cpp/mingw32目录下
    /bin      可执行程序(壳)
    /include  头文件
    /mingw
    /usr/   (真实的)可执行程序
    /lib   库

    Dev-cpp的默认安装中,相关的路径都已经设好.如没有设好,很难编译.
    设置方法是在选项/编译环境菜单中设置.
    注意新的C++头文件在/include/g++/3.2/下

    下面回答一些问题:

    1.多朋友问到在devc++下面做图形,抱歉,devC++没有graphics.h文件的,好像不能作图(具体解决办法,期待高手补充.....)
    graphics.h是borland的Dos图形库的头文件,win32下不支持,请使用win32的绘图方法GDI或DirectDraw.

    2. Dev C++ 是用dllwrap.exe来做DLL的(原话是这样的,期待高手解释.......
    是的,dllwrap语法是:
    dllwrap 选项 目标文件(即*.o)
    常用选项有:
      --def <filename> DEF文件名
      --dllname <名称>  DLL的名称
      --implib <导入lib名> 输出DLL导入库

    3.关于库的引用
    GCC的库名为libXXX.a其中XXX为库名,编译时只需要增加选项-lXXX即可。GCC的目标文件与
    VC使用的Coff以及Borland使用的OMF格式都不一样,不能直接使用.需要重新编译生成.a的库。

    GCC库管理程序是ar,它的用法是:ar rcs 库文见名.a 目标文件.o  哦,有人说过了:)

    4.关于调试及目标文件的大小.
    Dev-cpp的调试一直不是很好用,原因是它不是直接调试,而是调用了GDB这个命令行程序,
    所以有的地方打不到断点, 有时有的语句并不执行,所以乱跳的感觉,实际上,只要仔细
    观察一下,它不执行和不能打断点都是很有理由的,不像VC在空行上也可以打断点.
    目标文件很大是因为标准IO库,新的标准IO库是全用模板生成的,所以静态库相当大.
    而GCC一直没有把它做成动态库,所以每次程序都要联接到几百K.另外,GCC模板的生成也
    很笨(或者说为了附合标准),所以目标程序很大.不过在mingw中有一个strip的程序.
    可以为它减肥.
    想要产生小的程序有几个方法:
    0.优化程序!!!!
    1.全部使用动态库,包括C运行库.
    2.不要调试选项.
    3.使用面向程序大小的的优化选项.

    .

  • 相关阅读:
    diy_markdown 的 html 显示
    根据 vuex 的 this.$store.dispatch() 返回值 处理逻辑
    vue 项目配置: 局域网 ip 发布
    vue-markdown 之 markdown-it, 以及 table of content 的实现:markdown-it-toc-and-anchor
    程序员面试金典-面试题 08.05. 递归乘法
    程序员面试金典-面试题 08.04. 幂集
    程序员面试金典-面试题 08.03. 魔术索引
    程序员面试金典-面试题 08.02. 迷路的机器人
    程序员面试金典-面试题 08.01. 三步问题
    程序员面试金典-面试题 05.08. 绘制直线
  • 原文地址:https://www.cnblogs.com/ahuangliang/p/5309269.html
Copyright © 2020-2023  润新知