codeblocks+wxwindgets+C++开发.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.1. 准备之准备 需要安装的程序分为“软件(可独立运行)”及“扩展功能库”两部分。软件都提供独立的安装程序,通常双击就可以开始“下一步”风格的安装。主角:Code::Blocks”稍为复杂。 “扩展功能库”我们要求将它们安装到一个统一的目录之下,并且,通常在安装之后,还需要立即在Code::Blocks内配置路径变量。 2.1.1. 安装清单 软件 Code::Blocks (IDE/C++集成编辑环境,含MinGW) msys (Windows下的linux模拟环境) MySQL (Database/数据库) MySQL GUI Tools (Database Front/数据库前端工具) gSOAP (Web Service C++ 快速开发工具) ? C/C++的扩展功能库 wxWidgets (GUI library/图形用户界面库) mysql (访问MySQL的C代码库) mysql++ (访问MySQL的C++代码库,基于mysql boost (C++ “准”标准库) iconv/iconvpp (C形式的编码转换函数库,及本书作者用C++语言对iconv的简单封装) xerces-c (XML解析) xsd (XML 与 C++数据结构的绑定工具) deelx (轻量级的正则表达式解析类库,国产) SDL (Simple DirectMedia Layer/多媒体直接访问层,用于游戏编程) 2.1.2. 开源协议 本章所讲解的软件及库,均为自由软件(包括代码库),但它们各自所采用的开源许可协议并不完全一样。您可以放心的将它们用于学习目的。如果您需要使用这些软件用于商业目的,请认真阅读各软件(及库)自带的许可协议,理解并严格遵守。 本课程中所撰写的代码或软件,读者可以免费分发,但应保留代码中相关版权声明。 2.1.3. 什么是“库” 怎么理解“C++语言”和“C++库”之间的关系呢?打个比方就像我们学会了英语,但不一定就能成为一名英语作家,要想用英语写出优美的文章,最好手头有套《莎士比亚全集》。我们要想用C++语言写软件,不仅要学会语言本身,还得学会相关的“库”。 C++自带了一套代码库,通常称之为“C++标准库”,由于C++与C的“血缘关系”,所以“C++标准库”也包含了“C标准库”——但光有标准库还远远不够,于是就有了“C++扩展库”。 “ 库” 通常包含了许多用于实现特定功能的代码,从存在形式上区分 ,库可以就是一堆源文件,也可以是编译之后的二进制文件,或者是二者兼而有之。这几种类型的库,在本章我们都将碰上。对于纯源代码形式的库,安装工作实在 太简单了:创建一个文件,把库文件保存进入去完成了;对于需要编译的库,本书负责提供详细,手把手的教程;您则负责提供:细心、耐心,还有决心。 和 “软件”或“程序”的概念不同,“库”文件虽然也是由“代码”写成,但“软件”或“程序”通常可以独立运行,而“库”文件无法独自运行,虽然它能提供许多 强大的功能,但它需要程序来调用。就像一个军火库,里面有许多兵器:AK-47步枪,有M9手枪、有坦克、大炮……好的兵器需要好的战士来使用。一个自称 对C++语言非常熟悉的程序员,手里却没有几套玩得好的“库”就想写程序,那就像一身肌肉的007,手里拧把菜刀,嗷嗷叫着扑向战场一样悲壮。 纯源代码形式的库,在使用上也非常简单:直接将源文件加入我们所写的程序项目中,参加编译即可。需要编译的库,则又复杂一些,同一份源代码,我们可以将它编译成不同目标的二进制库,其中最典型的区分是:“调试库”、“发行库”;及“静态库”、“动态库”。 调试库 Vs. 发行库 “ 调试版”和“发行版”二者的区别在于:前者含有调试信息,而后者没有。有调试信息的库,有利于我们纠出程序中的错误,不过因为含有调试信息,所以调试版的 库通常 “长得比较胖”(编译后的二进文件体积比较大)。如果觉得错误纠得差不多了,我们就可以改用相对“苗条”的发行版。 静态库 Vs. 动态库 二者分别是对“静态链接库”和“动态链接”的一种简称。 “静态链接”是指,直接将库文件和程序文件合成一个大文件,在合并过程中,完成对库文件各个功能的定位。这个事情发生程序编译的过程。 “动态链接”与此相反,库文件和程序文件各自独立存在,程序在运行时,才去库文件中查找相关的功能。 完全使用“静态链接”,我们可能会得到一个“胖胖”的程序,直接发给用户使用就可以了。使用“动态链接”,我们可能需要分发给你的用户多个文件(程序和各个库文件)。不小心弄丢了哪个文件,用户们就要抱怨你的软件“跑”不起来了。 稍微复杂的软件,通常都采用“动态链接”技术。当然,为了解决分发多个文件的繁琐,通常我们可以另外做一个“安装”程序。相信您也经常安装软件,对这一点会很熟悉,本书附录也专

文档评论(0)

湘雅书斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5220142302000001

1亿VIP精品文档

相关文档