打算翻译VC技术内幕电子书,不知支持的人多不多啊

lase 2001-07-20 11:19:48
也算是为中国软件开发做出一点贡献.

都说那本第五版的中文版是垃圾,所以打算自己翻译.
...全文
263 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
lase 2001-08-14
  • 打赏
  • 举报
回复
大家评论一下阿,有什么地方需要改进的。
也可以和我联系,共图大计阿
MSXP2 2001-08-07
  • 打赏
  • 举报
回复
ok
lase 2001-08-07
  • 打赏
  • 举报
回复
以下是小弟对 VC++ Inside中第一部分第二章第一节的翻译。
虽然小弟讲求“信,达,雅”,但由于技术不到家,语言水平也一般,
所以其中还是有些晦涩的句子,希望高手点拨,也请有志者一起完成
该书的翻译任务 :)

当你打算开发Windows应用程序时,你需要选择一个开发环境。 假定你不打算使用非C语言环境,比如Microsoft Visual Basic 和 Borland Delphi,以下是你可能的选择:
使用Win32 API 的C编程
用Win32写你自己C++ Windows类库
使用MFC应用程序框架
使用其它基于Windows的应用程序框架,比如Borland的OWL
如果你是初学者,上面每种选择都要求一个很长学习过程。 如果你是Win16或Win32程序员,你仍然需要一段时间熟悉MFC类库。 自从MFC发布以来,已经成为最具有优势的Windows类库。 但即使你已经熟悉了它,仍然有必要深入了解它的细节。

MFC类库是C++形式的Windows API.如果你接受C++语言是现在开发重要应用程序的标准,你就会觉得使用Windows得C++接口是很自然的。 还有什么比Microsoft,Windows操作系统的创造者,开发的编程接口更好的呢? MFC类库就是这个接口。

使用应用程序框架的程序使用一个标准的结构。 任何开始一个大项目的程序员都会为代码写一些结构。 这样造成的问题是由于程序员写的结构都是不同的,所以新的开发组成员就很难理解和使用这样的结构。 MFC应用程序框架包括自己的一套应用程序结构-并在许多应用程序项目中使用。 如果你用MFC写Windows应用程序, 你可以放心地去加勒比海的小岛度假了,因为你知道你的助手可以在你不在的时候轻松地维护和增强你的代码。

不要以为MFC类库束缚了程序的灵活性。 使用MFC的程序可以随时随地调用Win32函数,因此你可以最大程度地利用Windows的功能。

应用程序框架既小又快。 回顾16位的时代,你可以把一个Windows可执行程序打包成20KB都不到。 而现在的Windows程序更大了。 一个原因是32位代码更庞大。 即使在大内存模式, win16程序所用的栈变量和许多全局变量都是16位的地址。 Win32程序的所有东西都是32位的,比如经常使用32位的整数,因为比16位整数更有效率。 另外,新的C++异常处理代码也消耗许多内存。

那些旧式的20KB程序没有浮动工具栏,分割窗口,打印预览,和控件容器支持-这些用户所希望拥有的功能。 MFC程序更大同时做的更多和界面更好。 幸运的是,现在可以方便地将MFC代码(和C运行库代码)和程序动态连接起来,因此程序又从192KB回到了大约20KB了! 当然,你的程序后台还是需要DLL的支持,但这是现实.

考虑到速度,你的代码是由做优化的编译器生成的。执行速度是快的, 但你可能会感到启动时有些慢,这是装入DLL的缘故。

Visual C++的工具程序使写代码更轻松。 Visual C++的资源编辑器, AppWizard,和ClassWizard工具显著地减少了你编写代码的时间。 举个例子,资源编辑器会创建含有使用#define定义的常量的头文件。 AppWizard生成整个程序的框架代码,ClassWizard为消息映射生成声明和函数体。

MFC类库应用程序框架具有丰富的特性。 MFC类库1.0版是和Microsoft C/C++ 7.0一起引入的,它包括一下特征:Windows API的C++接口 一般的类(即非Windows的类),包括: 集合类如链表,数组,和映射
一个很有用和有效的字符串类 时间,时间跨度,和日期类 独立于操作系统的文件访问类 对系统对象存储和操作磁盘的支持 由根对象生成的类结构 改进的多文档界面支持 对OLE 1.0的支持

MFC类库2.0版(随Visual C++ 1.0发布)不仅含有由1.0版引入的对当前Windows程序用户接口的支持,还引入了应用程序框架结构。 以下是一些新的重要特征的概述:
对File Open,Save和Save As菜单项和最近打开文件列表的完全支持 对打印预览和打印机的支持 对滚动窗口和分割窗口的支持 对工具栏和状态栏的支持 可访问Visual Basic控件 支持上下文相关帮助 支持对话框输入数据的自动化处理 OLE1.0的改进的接口 DLL支持

MFC类库2.5版(随Visual C++ 1.5发布)有以下特性: 开放数据库连接(ODBC)支持使你的程序可以访问和更新存贮在大多数常见数据库系统中的数据,比如Microsoft Access, Foxpro,和Microsoft SQL Server等 对OLE 2.01的支持,包括现场编辑,连接,拖放,和OLE自动化

Visual C++ 2.0版是该产品的第一个32位版本。它包括对Microsoft Windows NT 3.5的支持。 该产品涵盖了MFC 3.0,该版本的MFC有以下特征: 对标签对话框(即属性页)的支持(这也加到了Visual C++1.5中,在同一张CD-ROM中) 拖放控件栏已由MFC实现 对瘦框架窗口的支持 编程16位和32位OLE控件的单独的控件开发包,虽然还没有提供对OLE控件容器的支持
下一个发行版,涵有MFC 3.1的Visual C++ 2.1,添加了以下功能: 对新的Microsoft Windows 95(beta)的通用控件的支持 和Access Jet数据库引擎集成在一起的新的ODBC 2级驱动程序 提供TCP/IP 数据通信的Winsock类

为了和MFC的版本同步,微软决定跳过Visual C++ 3.0而直接发布4.0。 MFC 4.0含有以下这些新特性: 新的基于OLE的数据访问对象(DAO)类,该类和Jet引擎一起使用 使用Windows 95浮动控件栏而不是MFC的控件栏 对Windows 95 的发行版的通用控件的完全支持,带有新的树视图和rich-edit视类 新的线程同步类 对OLE控件容器的支持

Visual C++ 4.2 是含有MFC 4.2 的重要发行版本。 它包括以下新特性: WinInet类 ActiveX文档服务器类 ActiveX 同步和异步moniker类 加强的MFC ActiveX控件类,含有诸如非窗口激活(windowless activation),优化的绘图代码等等 改进的MFC ODBC支持,包括纪录集批量获取和非绑定的数据传输

Visual C++ 5.0包括了修正4.2版本错误的MFC 4.21。 Visual C++ 5.0本身也引入了一些很有价值的特征: 一个可以重设计的IDE,Developer Studio 97,它包括基于HTML的在线帮助系统和与其他语言,包括Java的集成 提供活动模板类库(ATL)供有效的开发Internet的ActiveX控件 通过为类型库引入新的关键字#import,提供C++语言对于组件对象模型(COM)客户程序的支持,详见第25章

最新版本的Visual C++ 6.0,包括MFC 6.0 (注意到现在两者的版本又同步了)许多MFC 6.0的新特性使得开发者可以支持全新的Microsoft Active平台,它包括: 含有作为Internet Explorer 4.0一部分引入的新的Windows通用控件的MFC类 支持动态HTML,允许应用程序动态操作和生成HTML标签 Active文档容器,该特性使得MFC程序可以包含Active文档 OLE DB的消费者和供应者模板支持和活动数据对象(ADO)数据绑定,它可帮助使用MFC和ATL的数据库开发者


学习曲线
列出来的好处听起来很不错,不是吗? 你可能在想,“天上不会掉下馅饼来”的确是这样。 为了高效得使用应用程序框架,你必须彻底得学会它,而这是花时间得。 如果你不得不同时学习C++,Windows和MFC类库(不包括OLE),大约要花至少6个月,才能真正可能做出产品来。 有趣的是,这和仅学习Win32 API所花的时间差不多。

如果MFC类库提供更多功能呢? 首先,你可以避免许多Win32程序员必须学习的编程细节。 以我们的经验来看,面向对象的应用程序框架使得Windows编程更易学-前提是,只要你掌握了面向对象编程。

MFC类库不会使Windows编程贬值。 Windows程序员通常比其他程序员有更高的薪水,这样的状况还会继续。 MFC的学习曲线(过程),还有应用程序框架的强大功能,可以确保MFC类库的程序员继续成为“抢手货”。
xiha2001 2001-07-21
  • 打赏
  • 举报
回复
支持,翻译好了能不能每本给我发一份,
谢谢。
shiha@21cn.com
lase 2001-07-20
  • 打赏
  • 举报
回复
错,我可以打破你这句断言! 只要有够多的人支持。呵呵
warmwater 2001-07-20
  • 打赏
  • 举报
回复
没钱谁也干不下去的!!!:-(
smartzhou 2001-07-20
  • 打赏
  • 举报
回复
支持
lase 2001-07-20
  • 打赏
  • 举报
回复
to lyzcom(与狼共舞),留个E-mail吧
lyzcom 2001-07-20
  • 打赏
  • 举报
回复
同意,非常支持,有问题可以来找我,我愿意合作!
lase 2001-07-20
  • 打赏
  • 举报
回复
Programming Windows with MFC 哪里有的down啊
dave75 2001-07-20
  • 打赏
  • 举报
回复
support
lchang001 2001-07-20
  • 打赏
  • 举报
回复
支持,我可以帮助翻译1-2章
Matrix_w 2001-07-20
  • 打赏
  • 举报
回复
Programming Windows with MFC 当然很有意义
lase 2001-07-20
  • 打赏
  • 举报
回复
<Programming Windows with MFC>? 哪里有得down啊? 我可以看一下是否有意义翻译
lase 2001-07-20
  • 打赏
  • 举报
回复
那么少人支持? 我已翻了前言的一部分. 大约要花1个月才能全做完吧.
sigh,中文打字太慢
陈硕 2001-07-20
  • 打赏
  • 举报
回复
不如翻译《Programming Windows with MFC》,毕竟技术内幕有第四版可以看,
如果你翻译前一本,我可以出力
thaliahujie 2001-07-20
  • 打赏
  • 举报
回复
完全支持
wzaen 2001-07-20
  • 打赏
  • 举报
回复
支持加怀疑?/
陈硕 2001-07-20
  • 打赏
  • 举报
回复
ftp://dl3.51soft.com:8384/vc021.zip
http://pcbook.51soft.com/books/download.asp?id=506

第二版的,书很好,我已译出介绍,我把这本书的中文名定为《用MFC设计WINDOWS程序》大家看如何?

内容介绍 (Introduction)
正像我的许多同事那样,我是从Charles Perzold的《Programming Windows》这本书开始学习Windows程序设计的。这本经典教程影响了一整代Windows程序员,被誉为“Windows程序设计圣经”。在1994年,当我开始学习MFC程序设计时,我试图去买一本讲解MFC且与《Programming Windows》同样高水平的书,可惜当时并没有这样的书。我只好花了一年时间用老式的办法学会了MFC,然后我决定自己写一本讲MFC的书。就是你现在拿在手里边的这本书,我多么希望在我当年学习MFC时能够有这样一本书。
可能你已经知道,MFC是Microsoft编写的一套搞Windows程序设计用的C++类库(C++ class library)。《Programming Windows with MFC》并不是一本讲C++的书,而是一本教你如何运用C++语言与Microsoft Foundation Classes (MFC)编写32位Windows应用程序的书。这本书的主要内容是教你运用MFC(而不是Windows API)去控制与操作Windows系统的基本特征与其提供的服务(accessing the operating system's essential features and services)。本书为以下两类人员编写:
§ 原来使用API而现在想学习MFC的Windows 程序员
§ 没有写过任何Windws程序的程序员
无论你是上述的哪一种读者,我假设你已了解C++语言且并能够正确理解C++的一些重要概念,如derived classes(派生类)与virtual functions(虚函数)。如果以上假设成立,那么你就准备好踏上MFC程序设计的征途吧。
即便是老练的Windows程序员当他们在第一次见到用MFC编写的代码时也常常会被搞胡涂,这是因为他们所看到的多半是由MFC代码生成向导(the MFC code-generating wizards)所生成的代码,而且还有无数行看不见的代码隐藏在MFC classes中,就像CFrameWnd, CDocument 和 CView。因此本书决定采取一种颇不寻常的方法来讲授MFC,那就是在最开始我们完全不必借助代码生成向导,而是手工编写MFC代码。当然,我们手工编写的MFC代码是采用最早的MFC 1.0版的程序架构,这样编写出的程序既不使用文档(document)也不使用视图(view)。当你掌握了一定的基础并对CWnd和CWinApp等一些基本的MFC classes有了一定的了解后,我引入向导(wizards)并教你如何发挥MFC文档-视图结构(MFC’s document/view architecture)的优势。接下来,你将从根本上理解Windows的消息导向本质(message-oriented nature of Windows)与Windows自身的关键构件(key components of Windows itself)如图形设备接口(Graphics Device Interface – GDI)。我相信你若是按照本书的步骤来学习MFC是会觉得轻松而愉快的。在认真学完本书后,你作为一个经验丰富的Windows程序员再回头看看自己的学习经历时,我想你会同意我刚说的那句话的。
《Programming Windows with MFC》分为四部分。第一部分将介绍MFC和Windows程序设计的核心原则,它从一个简单的”Hello, MFC”的程序开始,一步步地向你介绍菜单(menus)、控件(controls)、对话框(dialog boxes)以及其他组成应用程序的部件。第二部分在第一部分的基础上将进一步详细讲解MFC文档视图结构,特别地,第9、第10和第11章将揭示文档与视图背后的很多奥秘。这几章不仅说明了如何编写基本的文档-视图应用程序(document/view applications),而且讲解了如何在程序中实现像“分割了窗口的视图”(split-window views)与“打印预览”(print previews)等几种高级功能。
第二版新增的内容 (What's New in the Second Edition)
读过本书第一版的人会注意到本版(第二版)中的两个非常明显的改动。
第一个主要改动:本版新增了7个章节。一章专门讲解MFC view classes(MFC视图类),另一章包含MFC collection classes,还有一章介绍MFC文件读写操作与serialization(序列化)机制,另外四章讲解MFC与COM(The Component Object Model组件对象模型)的联系。MFC算不上是通用的COM应用程序架构(COM framework)【ATL (Active Template Library) 才是】,但用MFC编写某些种类的COM程序会异常简单。例如MFC极大地简化了编写ActiveX控件(ActiveX controls)的工作,而且MFC编写自动化服务器简直是小菜一碟。(自动化服务器 - Automation servers,利用COM组件在脚本客户端执行其功能的一种程序 - programs that use COM to expose their functionality to scripting clients)
第二个主要改动:本书这一版讲解并使用了wizards(向导),而本书第一版完全抛开MFC wizards。在书的前一至三章用手工编写代码,然后从第四章起便开始利用AppWizard(应用程序向导)与ClassWizard(类向导)来生成代码。为何作这一改动?我仍然坚信code-generating wizards(代码生成向导)是学习的障碍,wizards只适用于知识丰富的程序员;同时我也认识到在实际中,MFC程序员的确在使用wizards。某些任务(例如编写ActiveX controls(ActiveX控件))只有使用wizards才能完成。所以在经过深思后,我确信不讲解wizards将是作者的失职。
尽管本书这一版有关于wizards的新内容,无论如何,这不是(永远也不会是)一本仅仅教你如何在AppWizard中拿鼠标“点来点去”来做程序的书(a book about clicking buttons in AppWizard)。 在介绍完像“利用ClassWizard来写message handler(消息处理器)”这类基本的wizards用法后,我将拿wizards生成的源代码来做一番讲解并设想你能够领会到这些代码是如何产生的。请务必相信这一点:wizards并不能做任何你自己不能做的事,所以只要你愿意,手工键入所有源代码是完全切实可行的(perfectly feasible)。
在讲授MFC程序设计的书中,wizards的使用有下降趋势,因为wizards产生的代码不适合刊印。本书的第一版中每个源代码文件的内容都印在了书上。而这一版没有这么做,书中(对一个问题的讲解)一般只印出相关的那几行代码(而不是印出完整的源代码文件),而把完整的源代码文件放在本书附带的CD-ROM上。 因为印出全部源代码【译注:主要指wizards生成的“奇怪”的代码】会使书变厚却并不能增加书的内容。Visual C++ 6.0中的MFC AppWizards生成的某些代码甚至不会被编译(详见第四章) 。书中wizards生成的代码简直不忍卒读:代码被莫名其妙的空行搞得支离破碎、缺乏统一规格的注释和多余的函数。在我这个以能写出简练的、可读性强的示例代码(concise, readable sample code)为自豪的作者看来,wizards的表现实在让人难以接受。
然而,使用wizards是Windows程序设计中通行的做法,那是你、我和所有人都必须适应的。不过Visual C++开发组的人因该感到羞愧,因为他们至今没能给大家提供“真正实用的wizards”来用(实际提供的是他们称作“wizards”的几个“玩具”罢了)。因此在他们做出真正的wizards之前,我们还须设法应付我们遇到的情况。
CD光盘的内容 (What's On the CD)
本书附带的CD光盘包含书中出现的所有的例程的源代码与可执行文件。全部的例程在Visual C++ 6.0 与 MFC 6.0中编写并编译,并在多种Win32平台上做了测试。除非特别声明,所有的例程适用于Windows 98、Windows NT 4.0和Windows 2000。其中大部分例程同样适用于Windows 95与Windows NT 3.51。
你可以执行CD根目录下的Setup程序来把光盘上的内容复制到你的硬盘上,你也可以在CD的\Code目录里直接找到源程序文件。光盘的\Code目录中每一个子目录对应书中的一章,如Chap01、Chap02等等。那些子目录里就有例程,每套完整的源代码文件都附带一个release-build EXE文件(以发行版方式编译的可执行文件)和一个Visual C++ Workspace文件(*.DSW),*.DSW文件你可以在Visual C++中用“Open Workspace”命令打开。
From Me to You (and You to Me)
从1995年我开始写《Programming Windows with MFC》第一版的那一天起,我的目标一直是给C++程序员供应一个取之不竭的源泉,就像《Programming Windows》给C程序员提供的那样。我将请您来判断我是否达到了上诉目标。
我想知道您对本书的看法,如果您找到本书的错误,更请不吝赐教。你可以通过电子邮件 jeffpro@msn.com或访问我的个人网站 www.prosise.com 来与我取得联系。在我的网站上你可以找到关于本书的最新消息、勘误表以及我在其他项目工作的消息。在今年的晚些时候【译注:指1999年】,我打算在网站上发表关于MFC DLL的新的一章,到时候你可以在线阅读并评论。
在浩繁的计算机图书争相吸引读者注意力的今天,我知道你可能已经购买了其他MFC专著。我在此感谢您购买《Programming Windows with MFC》一书,并真诚地希望您认为您的钱花得值。祝您愉快!
Jeff Prosise
1999年3月12日

译注:以上提到的《Programming Windows with MFC》即是本书《用MFC编写Windows程序》

lase 2001-07-20
  • 打赏
  • 举报
回复
Programming Windows with MFC 哪里有的down啊

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧