由于VS2003编译序太多,此处无法上传,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜下吧,有许多资源呢!我就是在网上找到的,大家也试试吧。
在WINDOWS安装ACE很简单,按照 ACE-INSTALL.html 中的说明做就一切OK,首先在 ACE_ROOT\ace 下建立一个config.h文件,然后在其中加入一行 #include "ace/config-win32.h" 即可,另外因为我在学习C++嘛,当然希望让ACE使用标准的C++库了,那就还需要在config.h的第一行()加入一个宏定义:#define ACE_HAS_STANDARD_CPP_LIBRARY 1表明我们要ACE使用标准的C++头文件,另外还有的配置是是否使用MFC,当然我是不使用了,使用了还指望什么跨平台啊...:)那么按我的需要,config.h文件中就只有如下两行
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
然后就可以打开 ACE_ROOT\ace 目录下的ace.dsw来进行编译工作了
哦,忘了说:ACE_ROOT就是你安装ACE的目录,比如说我是将ACE-5.4.zip解压缩到 d:\ace 目录下的,因为ACE-5.4.zip中本身就包含路径 ACE_wrappers,所以最后 ACE_ROOT 就等于 d:\ace\ACE_wrappers 了,如果你是解压缩到D:盘的根目录下,那么ACE_ROOT 就等于 d:\ACE_wrappers 了,以此类推...
VS2003编译还有一点在你进行ace.dsw的时候要注意,因为.DSW是VC6的工程文件,在VC7.1中打开会提示你是否进行到VC7.1工程文件的转换,选择
"全是"就是了,然后在编译前还有一点要注意:你要编译出
By default, all of the ACE projects use the DLL versions of the MSVC run-time libraries. You can still choose
use the static (LIB) versions of ACE libraries regardless of run-time libraries. The reason we chose to link
only the dynamic run-time library is that almost every NT box has these library installed and to save disk space.
If you prefer to link MFC as a static library into ACE, you can do this by defining ACE_USES_STATIC_MFC
in your config.h file. However, if you would like to link everything (including the MSVC run-time libraries)
statically, you'll need to modify the project files in ACE yourself.
如上提示的VS2003编译什么类型的结果?我是选择的动态连接库,还有就是是DEBUG版本还是RELEASE版本,我是建议DEBUG版本了,因为ACE自带的EXAMPLE,APPS等都需要的是调试版本的ACE库,如果你生成了RELEASE的库,那你编译那些例子程序就要费些手脚了,嘿,嘿...
然后编译一路无话,最后提示没有任何错误,警告,这个ACE写得可真是厉害啊...另外我觉得VC7.1的编译速度好象有些慢,VC6下编译时刷刷刷的编译信息提示得很快,而VC7.1却是一秒钟最多提示编译结束一,两个文件.#t#
ACE库编译结束后的第一件事自然是编译ACE自带的EXAMPLE了,我等C++小菜鸟不根据例子如何学习? :P 里面的C++NPv1和C++NPv2当然是我们的重点了,对C++想学习网络编程的可能都听说过这两本书,中文版的两本我都买了,英文版的也下载了 :) 感谢於春景和马维达两位老师的翻译工作,使我们能更方便的学习ACE!
这里我说句题外话,我在网上看到对很多中译本的书评中好多评论者都在那里可以说是乱骂:这里翻译得如何不对,那里翻译的如何不好,我们不如去看原版,不要受什么人什么的骗,他们翻译出来的是垃圾等等...看到这些我很不舒服,我不否认现在有很多中译本翻译的是不怎么样,看了是令人有些头昏脑涨,但是也不是本本都这样,而我看到的每本中译本的书评中都有这些评论,实在是...
在侯捷老师的站点上有这样一篇文章http://www.jjhou.com/article01-6.htm (科技翻译面面观,从计算机领域谈起),这篇文章的内容我觉得写的很实在,精辟,在这里就不重复了...
我的母语自然是中文了,而且我的英文水平也是一般,在计算机上看一屏一屏的英文还好,因为可以放大,对拿在手上厚厚一本,密密麻麻的英文书实在是... :P 一般的英文文档计算机相关的可以勉强看完(当然大多数时候还需要金山词霸的拔刀相助:P),想了解的资料有了中文版我自然想去买来参考,但是我不会要求中译本百分百完美,我只要求VS2003编译我能够大概看明白原来的英文文档表明的是什么意思就可以了,具体到有什么句子段落觉得翻译得不好,怎么都看不太懂,能找到英文资料的我就自己去啃,不能的就看看能不能上网去问(大多数时候都是没有...:)没有原版也问不到就放起,说不定以后从别的方面触类旁通,就豁然开朗了,个人觉得不要太钻牛角尖... :)
我不会因为这处或那处翻译的有什么不足,不对,就跳出来乱骂,说是垃圾... :) 抛开急功近利翻译书的那种不谈,起码翻译的老师都会将原版书全部看完,然后逐行翻译成书,试问下那些乱骂的有几人是全本英文书都逐行看完,然后觉得人家翻译的不好的?我看大概都是看中文版本觉得有那么几句不对,然后去翻了下原版就开始乱骂,这样是不是有些偏颇了,你看几行,人家老师是看全本,我想谁都知道翻译几行跟翻译全本的差别了!!!我觉得只要是翻译的老师认真翻译了,翻译的"信,达,雅"(见上面提到的侯捷老师的文章)也有一定的水准,书中有些小暇瘛在所难免,所谓暇不掩渝嘛,就个人的观点来看,我觉得任何工作,事物都大多都符合一句大俗话:金无足赤,人无完人,这话对应到中译本也... 嘿,嘿... 你实在不满,请有礼貌的提出来,在那里乱骂算个什么!!!
好,上面说了那么多题外话,不过实在是忍不住... :VS2003编译让我们继续上面关于ACE例子编译,运行的话题, 下面都以C++NPv1目录下的文件为例子,其他的例子也类似,首先是编译,应该是没有什么问题的,如果编译不通过,请检查VC7.1的配置,在"工具","选项"中有一个"PROJECT",然后右边有个"显示以下内容的目录"的下拉框,点开后选择"包含文件",然后在其中加入新的一行 ACE_ROOT\include ,在我的机子中因为ACE_ROOT等于D:\ace\ACE_wrappers\,所以我加入 D:\ace\ACE_wrappers\include, 对应到你的机子,请按实际情况加入...
然后因为编译后是链接嘛,这里顺便就说说,因为上面说了,ACE自带的例子程序使用的都是DEBUG库,那么在链接时你就需要指定aced.lib所在的目录了,因为VC7.1在编译ACE库时,将ACED.LIB等文件放到ACE_ROOT下的LIB目录了,所以你要在上面"显示以下内容的目录"的下拉框中继续选择"库文件",然后加入新的一行加入ACE_ROOT\lib,这样就一切OK了...
最后就是VS2003编译程序的运行了,你需要在系统的PATH变量中加入ACE_ROOT\bin和ACE_ROOT\lib 然后再开一个CMD窗口到例子程序的目录,就可以运行例子程序了...