当前位置: 首页 > news >正文

用阿里云建站wordpress李氏牛仔网站建设风格

用阿里云建站wordpress,李氏牛仔网站建设风格,广州有什么好玩的地方 排行榜,乌克兰服务器GCC for Win32开发环境介绍(1) 第一章 在视窗操作系统下的GCC 第一节GCC家族概览 GCC是一个原本用于Unix-like系统下编程的编译器。不过#xff0c;现在GCC也有了许多Win32下的移植版本。所以#xff0c;也许对于许多Windows开发者来说#xff0c;GCC还是一个比较陌生的东西… GCC for Win32开发环境介绍(1) 第一章 在视窗操作系统下的GCC 第一节GCC家族概览 GCC是一个原本用于Unix-like系统下编程的编译器。不过现在GCC也有了许多Win32下的移植版本。所以也许对于许多Windows开发者来说GCC还是一个比较陌生的东西。所以我希望通过这章的叙述让你——一个Windows开发者对GCC这一个优秀的编译器有一个大概的了解。历史GCC是GNU公社的一个项目。是一个用于编程开发的自由编译器。最初GCC只是一个C语言编译器他是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展如今的GCC以经是一个包含众多语言的编译器了。其中包括C,C,Ada,Object C和Java等。所以GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是GNU编译器家族 的意思。当然如今的GCC借助于他的特性具有了交叉编译器的功能即在一个平台下编译另一个平台的代码。 直到现在GCC的历史仍然在继续他的传奇仍然被人所传颂。Windows下的GCC家族起初GCC是用于Unix,Unix-like系统的编译器。不过现在Windows下也出现了GCC的稳定移植版。这要感谢Internet上众多程序员的共同努力。如今在Windows下比较流行的GCC移植版主要有三个。他们是MinGW,Cygwin和Djgpp。虽然Djgpp是应用于DOS系统的考虑到windows对DOS的兼容所以也将Djgpp纳入其中了。 总体来说MinGWCygwin和Djgpp各有特色针对不同的应用场合可以选择不同的移植版来满足需要。MinGW这个系列的移植主要方向是让GCC的Windows移植版能使用Win32API来编程。而Cygwin的目标是能让Unix-like下的程序代码在Windows下直接被编译。至于Djgpp则是想让DOS下也能用上GCC。所以对于开发人员不同的需求。选择合适的移植版会让工作变得轻松而高效。本书的GCC我个人对GCC的移植版都非常喜欢。不论是MinGW还是Cygwin亦或是Djgpp。在本书中除了特殊说明以外所述的内容适合所有这三种移植版。不过考虑到现在在Windows下用的比较多的是MinGW系列。再加上MinGW较Cygwin和Djgpp安装和使用更为简便。所以建议读者学习时还是使用MinGW。第二节 入乡随俗的MinGW 简介MinGW是Minimalistic GNU for Windows的缩写。她是一个建立在GCC和binutils项目上的编译器系统。和其他GCC的移植版相比她可以说是最接近Win32的一个了。因为MinGW几乎支持所有的Win32API这也是MinGW的特色之一。她所连接的程序不需要任何第三方库就可以运行了。在某种程度上看MinGW更像是VC的替代品。 获得与安装MinGW可以从MinGW的官方网站http://www.mingw.org上获得。 如果你要安装MinGW那么你有两种安装方案。下面我来一一介绍。安装方案一首先你要从http://www.mingw.org/download.shtml上下载如下几个压缩包。考虑到文件的更新和文章的灵活性。我将只写出文件的主要部分将省去版本好和更新日期。 gcc-core C语言编译器 gcc-c C语言编译器 mingw-runtime MinGW的运行时库这个必须安装 win32api win32的API函数头文件和连接库 binutils MinGW的汇编器和连接器等基础工具 gdb MinGW中的调试工具 mingw32-make Make工具用以更好的管理你的项目 然后将上述文件逐一下载然后全部解压缩到一个目录下就可以了我这里假设你是移动到$(MINGW)这个目录下了。这样你的MinGW就算安装成功了。最后到DOS终端上将当前目录转换成$(MINGW)/bin 下。输入 C:/gcc -v 看到一段gcc的版本信息这就能说明你的gcc已经可以正常工作了。安装方案二你可以从http://www.mingw.org/download.shtml上下载 MinGW5.0.2.exe这个程序。至少在我写此文的时候这个是最新版本。 下载以后运行安装至于安装过程我想我就不一一介绍了。对于Windows下的开发人员我想这个应该不是什么问题了。在一切都选择好以后。这个程序就开始从Internet上下载所需要的压缩包。然后逐一解开安装。总体来说两种方法各有长处。不过本人偏爱第一中方法。因为控制度高而且更新也比较简单。自己心里也比较明了。环境设置对于我们这些使用者来说最好是能够简单方便的使用工具。所以我们就需要设置环境便于我们使用MinGW。对于设置我们只需要在环境变量中的PATH变量中添加$(MINGW)/bin这个路径就可以了。 这样你就可以在任何目录下使用MinGW了。第三节 人在曹营心在汉的Cygwin 介绍Cygwin其实并不是一个GCC。她是让Windows拥有Unix-like环境的软件。所以GCC自然也就会包含在里面。不过对于开发者Cygwin是一个开发环境。而对于用户来说Cygwin是一个运行环境。Cygwin唯一和MinGW最大的区别在于使用Cygwin可以在Windows下调用Unix-like的系统函数。比如进程函数等等。所以虽然说Cygwin是运行在Windows下的但是她还是使用的是Unix-like系统的函数和思想。获得与安装Cygwin可以从Cygwin的官方网站获得安装程序http://www.cygwin.com/ 在网站上下载Cygwin的安装程序setup.exe。然后运行便可以了。关于前面的设置我想不用多做介绍了。因为对于这些我想Windows下的开发人员应该相当清楚了。在到了选择安装的组件时在Devel选项下将gcc-core,gcc-g等前的skip点击成你所需要的版本号。 然后在Lib选项卡中将glib2,glib2-devel,glib2-runtime前的skip点成版本号。 接下来就点击next就可以了。在一段漫长的等待时间后你的Cygwin开发环境就算安装好了。相对来说Cygwin的安装和配置都比较简单。因为Cygwin提供了一个比较健全的安装程序。使用在安装目录下运行cygwin.bat就可以启动cygwin环境了。这是一个模拟Linux的环境所以很多地方可能和Dos有比较大的差距。不过你编译出的程序可以直接在其他没有安装Cygwin的机器上运行。还有如果要切换到windows下的其他盘下比如D盘。那么就可以使用$cd /cygdrive/d/ 对于Cygwin更多关于使用的内容你可以到Linux社区去获得参考。第四节 脚踏两只船的Djgpp 介绍Djgpp是一个在纯Dos下的GCC移植版本。她使用一些软件将纯Dos设置成32位的环境并运行由她编译出来的程序。总体来说Djgpp并不是一个Windows的移植版。不过她确实可以在Windows下运行。对于一些特殊应用。Djgpp是唯一适合的。获得与安装Djgpp可以从Djgpp的官方网站上下载http://www.delorie.com/djgpp/ 不过这里Djgpp为用户做了更好多的安排。她为用户提供了一个定制安装的页面。http://www.delorie.com/djgpp/zip-picker.html您只需要在上面填写响应的内容然后递交。她将会给你一份完整的安装方案。使用相对来说Djgpp我并不是经常使用。所以本文中在没有特殊说明情况下不会使用Djgpp的。文外音总体来说这篇文章写的有些匆忙。所以可能有些地方有不足。所以希望各位能够多多原谅批评和指教。下一章我将介绍GCC for Win32的IDE。同时从这一章开始我将向各位读者做一个小小的要求。那就是希望你们能够将自己对这篇文章感到的不足告诉我我将随时修改以发表的内容以适合广大读者的要求。如果各位有什么想法或者意见疑惑。希望您能到http://blog.csdn.net/visioncat上提出。 上文回顾 在上文中我们了解的windows下的GCC编译器。这一章我们将来看IDE的介绍了。在此我还要为各位表示抱歉因为那么久才写出这篇文章。 GCC for Win32开发环境介绍(2) 第二章GCC的外衣——IDE环境 第一节IDE for GCC概览 IDE即Integrated development environment也就是综合开发环境。对于习惯使用VC的windows程序员来说在windows下GCC的IDE也许就比较陌生了。所以想通过这一章简单介绍一下GCC所使用IDE。 GCC的IDE是什么 IDE也就是 综合开发环境 。她是为了便于程序员开发管理项目的软件。对于C/C来说她主要包括四个部分。代码编辑器编译连接器调试器和工具库。而GCC本身就包含了编译连接器调试器和工具库。所以严格的说GCC的IDE主要功能就是一个代码编辑器是用于编写代码的软件。 所以从上面我们可以看到一个问题那就是支持工具库的不是IDE而是编译器。如果你使用不同的IDE开发项目只要你使用的编译器是相同的那么她就能支持相同的工具库。 Windows下的为GCC设计的IDE有那些 许多GCC的IDE毕竟不是商业化制作的因此很多地方都有不足的地方。下面是我个人认为不错的几个IDE。 Dev-C这个IDE可谓是专门为GCC所设计的IDE。Visual-MinGW一个模仿VC6.0界面的IDE。最后是最近最火的Code::Blocks由于也是最近接触所以也不是太了解不过给人的第一印象是特别像VC.Net的界面。 总体来说各个IDE都有其自身的特点。对于初学者Dev-C比较不错因为各种工具库基本都有为Dev-C设计的安装包。对于从VC转形到GCC的人来说Visual-MinGW是一个不错的选择因为据我所知大家熟悉和喜爱的还是VC6.0居多因此模仿VC的Visual-MinGW是一个不错的选择。对于打算用GCC开发项目的人来说Code::Blocks的确会成为你的最爱因为她的项目管理实在是太优秀了。其实每个人都会从中找到适合自己的IDE。 本书的IDE 本书使用哪种IDE呢其实本书不是专门为哪种IDE所写的。因此本书所写的都是针对GCC本身所写的。因此本书中的IDE。其实就是windows下最不起眼的notepad。不过为了书写便捷我通常使用Emacs或者Notepad来书写代码。Emacs是一个Unix环境下优秀的编辑软件Notepad是一个notepad增强版个人感觉比较适合开发程序。本书会在每个例子程序后附带一个Makefile文件通过这个文件各位就能够非常直接的了解到环境的配置方式然后根据不同的IDE为你的程序添加不同的参数。 第二节 最专一的Dev-C 简介 Dev-C全称Bloodshed Dev-C是由Bloodshed公司开发的一款C/C的IDE。她所默认的编译器为MinGW但是她能够支持Cygwin等其他任何GCC的移植版以及GCC本身。她是使用Delphi开发的因此有些C/C开发者觉得她的血统不纯。但是我个人认为只要适合的我们又何必在意她用什么开发呢 获得与安装 Dev-C可以从她的官方网站http://www.bloodshed.net上获得。在官方网站的下载页上你将会看到三个安装程序。下面我一一解释一下。 Dev-C with Mingw/GCC这个是包含MinGW的安装包。安装这个包以后你将拥有完整的一个IDE开发环境自然包括编译器等。 Dev-C executable only这个是只有IDE的安装程序其中不包括任何编译器。所有如果你没有安装GCC编译器的话安装这个包以后你将会出现无法编译项目的问题。 Dev-C source code这个是源代码包当然其中只有Dev-C的代码没有任何GCC的代码。 通常偷懒的人选择Dev-C with MinGW/GCC这个包这个也是我建议初学者安装的包。如果你在上一章以后已经安装了某个GCC的windows移植版那么你可以选择Dev-C executable only这个包。如果你想研究一下Dev-C的代码并且对Delphi有所了解那么Dev-C source code是你唯一的选择。 下面我对Dev-C executable only的安装方式进行说明。而Dev-C with MinGW/GCC的安装和她差不多只是可以省去后面配置编译器的问题。 安装 首先从官方网站下载Dev-C。运行安装程序以后您将看到如下的提示。 这个是让你选择安装时候所使用的语言这里我们只能选择English因为没有中文安装界面。 这个是许可证界面选择I Agree。感觉现在大家用盗版用多了对于许可证都不关心了可是我想作为一名开发者应该对许可证的内容重视一下毕竟你的软件也是要被人使用的。 这个是安装选项界面。其中你可以选择你所要安装的内容和安装的一些选项比如是否关联文件等。如果你下载的是Dev-C executable only那么你将无法使用Mingw compiler system(binaries,headers and libraries)这个选项因为这个安装文件中没有包含这个。 这个界面是让你选择安装路径。你可以在这里选择你安装Dev-C的路径。我这里假设你安装在$(DEV)下。 这个界面是询问你是否为windows上的所有用户安装Dev-C。这里我选择 否。如果你想让本地机上每个用户都可以使用Dev-C那么你可以选择 是。 在安装程序结束后默认会运行Dev-C。你在首次运行时会看到如下界面。 这个是选择你Dev-C所使用的语言界面图标和窗口风格。如图上选择我们使用的语言是中文使用New Look图标并使用XP风格的窗口。 这个是询问你是否要Dev-C提供函数补全功能她将从头文件中读取函数头然后为你补全。但是要消耗一定的CPU时间。如果你的机器还可以的话并且需要此功能那么你可以尝试一下。 至此我们的Dev-C算是安装成功了。如果下载的是Dev-C with MinGW/GCC那么后面的内容你可以不关心了。因为你的IDE环境已经全都配好了。如果不是那么您还需要自己安装编译器。 配置编译器 按照我第一章所介绍的安装好某一个GCC移植版编译器可以是MinGW也可以是Cygwin。假设您安装的目录为$(GCC)那么请将如下路径添加到系统变量PATH后。 $(GCC)/bin; 这样你的Dev-C就拥有了编译器了。当然你也可以从Dev-C的网站上下载MinGW全套的Dev包然后用Dev-C带的包管理程序安装MinGW。 添加新的工程类型 在平时我们通常会建立自己的工程文件。但是如果每次都要自己设置环境变量编译器参数未免也太麻烦了。本处就要介绍如何将自己定义的工程类型添加到Dev-C的新建工程选项里。就如下图所示 Dev-C的项目模板文件保存在安装目录的Templates目录下。文件以template后缀结尾你可以用记事本打开。下面我们一起来建立一个自己的项目。 在templates目录下新建一个名为MyProject.template的文本文档。内容如下 [Template] ver1 NameMyProject Icon0 Description一个小小的测试 CatagoryHOME [Unit0] CNamemain.c CMyProjectC.txt [Unit1] CNamemyProject.h CMyProjectH.txt [Project] UnitCount2 Type1 IsCpp0 Compiler-DPASSWORD Linker-O2 NameMy Project ProjectIon0 [Template] 标签后的内容是对项目的介绍。 Ver 变量是Template文件的版本这边默认是1不要更改。 Name 变量是项目的名称 Icon 变量是项目图标的路径如果没有那么就写0 Description 变量是对这个模板的介绍。 Category 变量是这个项目属于哪种项目这里我们自己建立了一个名为Home的类型。 [Unitx] 其中x为从0开始的任何整数是定义项目中所包含的文件。 CName 变量是说明这个文件在项目保存时默认的文件名。C语言时使用 C 变量是Cname文件的源文件。C语言时使用 CppName 变量同Cname变量只是在C语言时使用。 Cpp 变量同C变量是在C语言时使用的。 [Project] 标签是对工程的总体介绍 UnitCount 变量是说明整个项目有多少文件从1开始。 Type 变量是告诉IDE这个项目采用何种编译方式。0为windows窗口程序1为控制台程序2为静态连接库3为动态连接库。 IsCpp 变量是说当前项目是否只能使用C语言0表示不是1表示是。 Compiler 变量是编译器参数 Linker 变量是连接器参数 Name 变量是项目的名称 ProjectIcon 变量是项目编译以后主程序的图标文件。 下面给出了MyProjectC.txt和MyProjectH.txt的内容。 //MyProjectC.txt #include stdio.h #include stdlib.h #include myProject.h int main(int argc,char *argv[]){ printf(%s/n,S); return(0); } //MyProjectH.txt #ifdef PASSWORD #define S Hello World #else #define S NO PASSWORD #endif 重新启动Dev-C在你的项目中就存在了我们的项目。 最后的内容 相对来说Dev-C的功能还是比较简单的。而且界面也是属于中文的。所以慢慢摸索你一定可以熟悉这个环境的。 文外音 总的来说Dev-C是一个不错的IDE。很适合对GCC不是太了解的人使用。当然这里我还是要表示抱歉因为最近要忙于考试所以迟迟没有推出这篇文章。现在经历了漫长的考试时间我在放假的刚开始就匆匆写出了一些赶紧贴出来。这里我还是希望各位能提出一件和疑问。如果各位有什么想法或者意见疑惑。希望您能到http://blog.csdn.net/visioncat上提出。谢谢。 上文回顾 在上一篇文章中我们了解的IDE和Dev-C。这篇文章中我将带领各位继续我们的IDE之旅。继续介绍Visual-MinGW和Code::Blocks。希望这些IDE能给各位在工作和学习中带来便利。 GCC for Win32开发环境介绍(3) (第二章GCC的外衣——IDE环境 第三节 最脸熟的Visual-MinGW 简介 Visual-MinGW是一个专门为MinGW所设计的IDE。如果你曾经用过VC 6.0这个IDE你的第一感觉就是Visual-MinGW和VC 6.0非常相似。所以对于曾经用惯VC的朋友们来说Visual-MinGW不失是一个好的选择。然而Visual-MinGW的开发与更新似乎并不积极。因此还有不足的地方。Visual-MinGW的理念是提供一个高效的快速的创建代码的IDE。 获得与安装 Visual-MinGW可以从他的官方网站http://visual-mingw.sourceforge.net获得。在官方网站上您将看到有Development和Visual-MinGW两个下载选项。这里我只以Visaul-MinGW的下载项为例。Visual-MinGW是一个不包含MinGW编译器的安装程序。 安装 首先从官方网站下载前面所说的安装程序然后运行。基本的安装步骤和Dev-C类似。由于没有什么选项。我们这里就不一一举例了。 接着我们运行Visual-MinGW。在第一次运行时我们将看到如下对话框。 这是询问你是否关联相关文件。也就是让Visual-MinGW成为默认的文件编辑器。 这个对话框是告诉你需要将MinGW的目录设置进你的Compiler目录。 如果你安装了MinGW。那么你在这里就可以设置了。我假设你的MinGW安装在$(MinGW)目录下。那么在Compiler Path前打勾并将$(MinGW)添加上去。 如此你的Visual-MinGW就算设置好了。如果你没有安装MinGW那么你可以查看第一章的内容。这里我就不多做介绍了。 配置 如果你需要改变编译器所在的目录。可以使用如下方法调用设置界面。 在菜单栏选择File - Preferences.. - Environment这样你就开启了设置界面。这里的设置和第一次运行的设置一样。 使用 其实Visual-MinGW的使用方式和VC非常类似。基本熟悉VC的朋友。一定对Visual-MinGW不会陌生的。所以在这里我就不详细介绍了。不过可惜的是Visual-MinGW似乎不能添加自己的项目类型。所以这也给我们带来了不少不便。 第四节 最新颖的Code::Blocks 简介 Code::Blocks不只是GCC的一个IDE也可以支持其他的编译器比如MS-VC,Borland C等等。所以总体来说Code::Blocks并不是某个编译器的特属IDE。Code::Blocks的界面设计很像VC.net的界面。从效果上看的确不错。而且这个IDE支持插件功能你可以从他的官方网站上获得这个IDE的插件和相关的帮助。 获得与安装 Code::Blocks你可以从他的官方网站http://www.codeblocks.org获得。在官方网站上有两种版本下载一种是带编译器的一种是不带的我们可以从文件的体积来分辨这些。这里我下载的是不带编译器的。当然带编译器的安装方式也类似。 安装 在网上下载Code::Blocks后双击运行安装。 上面是安装的欢迎界面 这个是Code::Block的许可证界面。这里软件用了GPL这就说明你可以免费使用和传播。 这个是询问你安装的路径你可以选择自己喜欢的路径。 这个是询问你安装的模式因为软件也不大所以如果你的硬盘空间有空余的话就选择完全模式吧。 这个是安装前的确认如果没有什么问题的话他将开始将Code::Block安装到你的机器上了。 在一系列的安装后你将看到如上的界面。提醒你已经安装好Code::Block了。Launch Code::Block意思是马上运行Code::Block。 配置 在第一次运行Code::Block时她会询问你所使用的编译器种类。如果不是有特殊要求的话我这里选择GNU GCC Compiler。如果你一开始选错了也没有关系。 由于我们安装的是没有编译器的版本。所以我们这里必须安装编译器具体的安装方式可以参照前面的文章。这里建议安装MinGW。现在我假设你的编译器安装在了$(MINGW)目录下。 运行Code::Block在菜单中选择Build - Compiler Options。调出编译器配置框。 如图所示这个就是编译器选项我们这里使用的是GCC所以在最开始选择。GNU GCC Compiler。说明你选择使用的是GCC。 然后选择Programs选项卡设置我们MinGW的路径。 在Compilers installation directory中添加你MinGW的路径按照上面的定义他应该是$(MINGW)。注意别把bin目录包含进去。如果你只安装了C语言编译器并且你只使用C语言编译器。请将Linker for dynamic libs中的mingw32-g.exe改为mingw32-gcc.exe。 至此我们已经顺利完成Code::Block的安装与配置了。如果你选择的是带编译器的版本那么你可以忽略配置部分。 使用 总体来说Code::Block的使用还是比较显而易见的。对于有一些编程经验的人使用Code::Block并不是一件非常困难的事情。当然Code::Block可以建立自己的项目模板。具体的做法和Dev-C类似。您可以查看$(CodeBlocks)/share/CodeBlocks/templates目录中的文件。 最后的内容 总体来说这次介绍的两个IDE总体来说还是不错的。不过笔者使用最多的还是Dev-C。对于Visual-MinGW和Code::Blocks我了解并不多。前者是因为并不太喜欢后者是由于刚出来。不过还是希望我写的内容对各位有用。当然我个人的喜好不会影响各位的使用。现在笔者没有使用其中任何一款IDE笔者现在使用的IDE是我自己架设的在Windows下我使用的是notepad作为我编写代码的工具使用Makefile管理项目。所以各位可以放心的选择各自喜好的IDE。不用担心会不被支持或者被厌弃。至此关于IDE的介绍将就到这里结束了。以后我将主要针对函数库本身做详细的介绍并提供教程。 文外音 首先对各位读者表示抱歉。因为原本我准备趁着这次暑假多写一点东西的。可是并没有预期的那么好。原本这篇文章应该在上个月写出来的。可是上个月为了练习编程技巧写了个Sudoku Puzzle因此没能有时间写文章了。如果各位想要的话可以问我要。那个程序原本预计一周完成的可是没想时间远远超出了我的预计。后来八月初才完成的。本想可以写了吧没想又发起高烧了结果久久没能写出文章对各位对我的期望我表示非常抱歉。如果你对于文章有什么意见疑惑或者问题可以到http://blog.csdn.net/visioncat上提出。我尽我所能将在第一时间回答您。 上文回顾 在上一篇文章中我主要为大家介绍了有关IDE方面的内容。其中主要包括一些我个人比较喜欢的三个IDE。本文我将为各位介绍GCC的编译参数以及组成和Makefile的使用方式。 GCC for Win32开发环境介绍(4) 第三章GCC粗探——GCC的组成与附加参数 第一节GCC的家族成员 总的来说GCC应该是一个编译器。可是为什么我还要在这里介绍GCC的家族成员呢其实整套的GCC环境并不是由GCC构成的他是由多个包所组成的。这些包的互相作用产生了GCC的开发环境。其中有一些包是你开发应用程序所必备的基本包。离开这些包你将无法正常使用GCC。 GCC的基本包列表。 GCC的基本开发环境主要由一下几个包构成。Binutils这个是辅助GCC的工具包里面包含了连接器汇编器动态静态库生成程序等等。GCC这个包是GCC本身。当然GCC包中还包括一下几个包如core,java,ada等每个包都代表了一种语言。然后就是win32api,mingw-runtime这个是在Win32下使用的标准函数包。如果你使用的是Cygwin或者是在Unix环境下那么这个包就是GlibC。 所以由上所述。GCC的基本包有binutils gcc glibc/[win32api,mingw-runtime]有了这些包。你基本能够开始编译应用程序了。 当然如果说你想要写一个小程序。自然这些包已经够了。但是如果你要写一个较大的工程。那么这些包也许就不能很好的胜任你的工作了。因为对于一个大的项目需要编译的文件不只一个而且还有依赖关系等等。 所以GCC中还包括gmake包用于管理项目。当然还有automake。但是我个人还是不太喜欢automakeautomake其实是帮助你自动的管理你的项目当然实现这个自动也是比较麻烦的所以与其用automake管理中小型项目不如用gmake自己写个脚本。不过automake通常用于源代码发布的应用如果在开发时使用会延长开发周期。 Gmake,automake都是通过编译脚本来批量的编译程序。他们能够更具你所给定的依赖关系来自动的判断需要重新编译的源代码然后编译。这点的确可以帮助开发人员减轻不少的人力和开发周期。比如你用Makefile管理一个项目那么在你第一次编译程序以后如果你的源代码没有做过任何编辑那么下次再调用gmake的程序时gmake就不会再去一一编译每个文件。而是简单的连接一下主程序或者什么都不作的退出(这要取决于你写的Makefile脚本) 但是对于有些开发人员来说上面这些包还是不能满足他们的要求。因为他们要调试程序。所以GCC还包括另一个包。那就是GDBgdb是GCC开发的用于跟踪调试的命令符型调试器。它的功能还是比较强大的。基本你能在VC下做到的GDB也可以。不过GDB的命令还是比较多的。掌握一些基本的调试命令一般就够使用了。 总结 GCC开发环境包括如下几大包。 binary 基本包 提供基本的汇编器连接器等 gcc 基本包 各种语言的编译器包括C,C,Ada,Java等 Win32api,mingwi-runtime/glibc 基本包 系统函数库 Gmake/automake 需要包 管理项目编译的程序 gdb 附加包 调试程序 第二节GCC的常用编译参数 同VC,TC等编译器不同GCC其实是可以很方便的在提示符下编译程序的。GCC在提示符下编译程序并没有如同VC那样的冗长而晦涩的编译参数。相反却有着比VC更灵活且简短的参数。 不得不承认不懂GCC编译参数的人确实会损失一些GCC的强大功能。所以我下面简单介绍一下GCC的一些基本编译参数。这里我以C编译器为例。 编译二进制代码 $gcc -c yours.c -o yours.o 使用这段指令GCC将会把yours.c编译成yours.o的二进制代码。其中yours.o就类似于VC,TC中的.obj文档。 编译最简单的小程序。 $gcc -o yours yours.c 通过这条指令GCC将会把yours.c源代码编译成名为yours的可执行程序。当然您也可以将yours.c改成我们刚才介绍的yours.o文件。这样gcc将使用编译刚才编译好的二进制文档来链接程序。这里格式的特点是-o后面是一串文件列表第一个参数是所编译程序的文件名从第二个开始就是您编译和连接该可执行程序所需要的二进制文档或者源代码。 编译时将自己的头文件目录设为默认头文件目录 $gcc -I”Your_Include_Files_Document_Path” -c yours.c -o yours.o 这条指令中的-I参数将会把Your_Include_Files_Document_Path添加到你默认的头文件目录中。这样您将可以使用#include your_include.h来导入头文件。 编译时使用自己的静态库存放目录 $gcc -L”Your_Lib_Files_Document_Path” -o yours yours.o 这条指令将会让GCC在连接时除了在默认Lib存放目录中搜索指定的静态库以外还会在Your_Lib_Files_Document_Path中搜索。 编译时使用静态连接库 $gcc -lyour_lib -o yours yours.o 这条指令将会让GCC在连接时把libyour_lib.a中您所用到的函数连接到可执行程序中。此处注意GCC所使用的静态连接库是lib*.a格式的。在连接时只且仅需要提供*的内容就可以了。 编译时使用优化 $gcc -O2 -c yours.c -o yours.o 使用优化方式编译程序其中除了-O2以外还有-O3 -O1等等。他们代表不同的优化等级。最常用的是-O2优化。当然还有针对特殊CPU的优化这里就不介绍了。 编译时显示所有错误和警告信息 $gcc -Wall -c yours.c -o yours.o GCC在默认情况下将对一些如变量申请未使用这样的问题或者申请了没有给予初始值的问题忽略。但是如果使用了-Wall参数编辑器将列出所有的警告信息。这样您就可以知道您的代码中有多少可能会在其他操作系统下出错的地方了。(用这个指令看看你的代码有多少地方写的不怎么合适。) 编译连接时加入调试代码 $gcc -g -o yours yours.c 正如同VC有debug编译模式一样GCC也有debug模式。添加了-g参数编译的可执行程序比普通程序略为大一些其中添加了一些调试代码。这些代码将被gdb所支持。 连接时缩小代码体积 $gcc -s -o yours yours.o 这个参数似乎我没有在Unix环境下看到过。也不知道具体什么作用。因为有人说Visual-MinGW生成的代码小于是研究了一下她的编译参数发现release模式的编译参数就加了这一项。貌似编译后的代码的确缩小了很多。 获得帮助 $gcc --help 这条指令从意思上就能看出获得gcc的帮助信息。如果您有什么特殊需要也许这个指令能帮上点小忙。 第三节 如何写一个简单的Makefile 说了半天Makefile管理项目我想现在该说一下如何写了。其实Makefile文件总体还是比较容易写的基本只要你会使用命令行就可以写Makefile。下面我简单介绍一下Makefile的构成和书写。 一个输出HelloWorld的简单Makefile all: echo HelloWorld 这个Makefile代码运行后将在屏幕上打印一个HelloWorld。all其实是类似C代码中的main函数。gmake程序将在运行Makefile代码时首先运行此处的代码。注意此处echo前面的是tab。GCC对空格很敏感的。 添加依赖项的Makefile all:depend echo I am the main depend:closeecho echo I am the depend closeecho: echo off 这个Makefile代码的作用还是输出句子。不同的是她添加了几个指令块之间的依赖关系。其中all依赖于dependdepend依赖于closeecho。这样程序在编译时将根据脚本的依赖关系来判断文件编译的先后顺序。 执行Makefile $make -f Makefile 通常情况下不用-f参数make程序将在当前目录下搜索名为Makefile的文件作为需要执行的文件。而使用-f将指定Makefile的文件名。 一个完整的Makefile all:yours echo OK yours:yours.o gcc -o yours yours.o yours.o:yours.c gcc -c yours.c -o yours.o 更多有关Makefile的详细内容请查相关资料。 文外音 的确发现了。我这个系列的文章进展的并没有我预期和承诺的那么快。确实挺让我感到无奈的。不过幸好你能够理解我。总体来说本文主要是简单介绍一下GCC的一些基础。因为我发现有许多读者对GCC并不是很了解。 说来也挺无奈的最近发现原来周围有个小人当道。此人姓名我也就隐去了。从去年开始就常常在和我聊得比较好的几个女生面前造我的谣。所以原本应该9月该出来的文章拖延到了9月底。说起这个人我希望大家要以此人为鉴。不要像他那样。 这人自称在硬件方面很行不过据我所知他无非就是可以把各种型号的主板和硬件编号背出来而已。连基本的线程进程都搞不清楚。还成天鼓吹32bit的机器是淘汰的机器。不得不承认这位满口脏话为人无耻的家伙的确硬件方面挺不错的。但是我还是觉得做技术的人不要太追求表面的东西不要追求过于超前的东西同时也更要注意自己的品行道德。 也许是年纪大了发了一些牢骚。希望各位不要建议。不过事以至次我也无力挽回了。 最后感谢各位对我的支持更感谢那些愿意为我效力的朋友们。同时如果您有什么问题或者建议都可以提出来。为了您能及时准确的得到回复请到http://blog.csdn.net/visioncat上发表你的留言。谢谢
http://www.zqtcl.cn/news/432886/

相关文章:

  • 中国建设银行u盾下载假网站吗wordpress有没有付费
  • 海南哪家公司做网站开发一套管理系统多少钱
  • 做网站建设费用百姓网
  • 西安建设厅网站wpf做网站教程
  • 好的网页网站设计wordpress对外发邮件
  • 湖北网站建设贴吧信用宁波企业网查询
  • 佛山市官网网站建设多少钱网站建设与管理书籍
  • 网站建设佰金手指科杰二八佛山有那几家做网站
  • 网站建设刂搜金手指下拉贰伍wordpress 外链自动nofflow
  • 搭建一个网站多少钱手机软件开发用什么语言
  • 太原专业网站建设杭州网络推广专员
  • 广西专业建网站橙米网站建设
  • 百度做的网站能优化吗html网站系统
  • php素材网站源码免费下载网站维护的内容有哪些
  • 打鱼跟电子游戏网站怎么做佛山微网站开发哪家好
  • 知名的网站建设网站在工信部备案
  • 网站首页的快照更新慢爆wordpress密码
  • dw做网站背景图片设置铺平微博通 wordpress
  • 勉县网站建设电商网站要素
  • 重庆旅游seo整站优化网站制作的一般步骤是什么
  • 网站建设评估体系p2p网站建设框架
  • .net 快速网站开发东莞网站建设公司哪家好
  • 东莞个人网站设计潍坊专业人员继续教育
  • 网站建设如何创业建设招标网官网
  • 公司没有销售网站怎么做业务怎么做微信推送 网站
  • 商城网站模版郴州网页定制
  • 电子商务网站建设步骤海外广告投放渠道
  • 网站用花生壳nas做存储十堰市网站建设
  • 用html5做手机网站抖音平台建站工具
  • 在线课程网站开发的研究意义网站开发需要哪些知识