5-8万年薪顶级嵌入式,京沪深就业地 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  扩充话题 >  程序人生

Win32多线程程序设计——线程完全手册 (侯捷 译)即将出版,敬请关注.

楼主yeka(叶卡)2002-01-20 20:51:20 在 扩充话题 / 程序人生 提问

问题点数:0、回复次数:16Top

1 楼yeka(叶卡)回复于 2002-01-20 20:52:24 得分 0

www.huachu.com.cn   2002年1月20日   星期日      
   
   
   
   
  书名:Win32多线程程序设计——线程完全手册    
  原名:Mulithreading   Applications   in   Win32——The   Complete   Guide   to   Thread    
  出版社:华中科技大学出版社    
  作者:Jim   Beveridge   &   Robert   Wiener    
  译作者:侯捷    
  出版日期:2002年1月      
  浏览次数:501    
  定价:¥59.8    
  预定价:¥48(免邮费)     节省:¥11.8     预定    
  相   关   信   息    
   
  制作规格:  
  封面250克进口铜版纸,内芯70克高级双胶纸。    
  预计上市日期:1月31日    
  页数:480页      
  开本:787*1092   1/16    
  备注:含1CD    
   
   
   
  作者序   译     序     目     录     常见问题集     封底文字    
   
      作者序   ↑   top    
   
  1992年,我参加了第二届Microsoft   Professional   Developers   Conference,当时,Win32   首次对大量观众展示。这是一个重大的事件,其中有许多蛊魅的新技术第一次亮相。观众不断地对展示的东西喝彩。当我看到这些新技术时,我身上Unix的那一部分说"时候到了",而Windows   3.1的那一部分则是高呼"哈利路亚"。    
  五年过去了,好几版Windows   NT问世了。我愈是深入此书,愈是了解1992年的那场盛宴之中我的了解是多么贫乏。我听过许多"睿智"的话,比如"为MDI程序的每一个窗口准备一个线程"之类,事实上根本是错误的。有些技术(诸如   overlapped   I/O)很明显地被曲解了。   当我钻研此书时,我发现许多其他书籍和文章从头到尾描述了各式各样的Win32函数,却很少着墨在如何使用它们,或如何搭配其他函数使用。某些函数,例如   MsgWaitForMultipleObjects(),是Win32程序的运转中心,却几乎没有任何范例程序正确使用过它。在我所发现的文件给了我太多的挫败之后,我决定尽可能以实务导向的方式完成此书,如此一来,你就能看到那些Win32函数一起合作的情景。  
   
  这本书的读者群很广,Win16和Unix上的程序开发者欲转移到Win32,或是有经验的Win32程序开发者,都是我的对象。你会发现一些不曾看过的问答,例如"为什么_beginthreadex()真的很重要"等等。程序范例从基本层面到同步机制,到多线程COM和ISAPI应用程序,都有。  
   
  这是一本可以让你上手实验"Win32线程"的书。我描述了基础观念,如果你需要更理论性的知识,你还得多看点其他资料。线程的大部分问题都已经被Dijkstra和Courtois那样的人在25年前就解决掉了,他们的论文直到今天还适用。  
   
  如果你对那些只挑软柿子吃而故意忽略困难部分的书籍感到绝望,我希望本书能够让你绝地逢生。某些章节是经过了长时间的实验、多篇相关文章(来自杂志、期刊、Microsoft   Knowledge   Base)的阅读、众多源代码的剖析之后,萃炼而得。像"线程与C   runtime函数库以及MFC的关系"这种主题,我保证你会从中获得许多闪亮的宝石。  
   
  许多程序员对于线程是既期待又怕受伤害。Unix的人嘲笑它,因为进程(process)看起来就已经不错了。Win16的人也嘲笑它,因为PeekMessage()也运作得很好嘛!我写这本书时首先认识的一个关键问题就是:如果有任何一个人在乎所谓的线程,他为的是什么?  
   
  如果你开发的是服务器(server)产品,你就应该对线程深深在乎,因为I/O   completion   ports使用它。I/O   completion   ports是唯一能够搭配Win32   sockets或named   pipes完成高效率I/O的方法。请你"跑"到第6章看个明白(用"走"字显得太慢了)。  
   
  如果你开发的是Web产品,那么IIS(Internet   Information   Server)的扩充软件也是靠多线程DLLs完成的。这种技术的背景观念散布于整本书,而第16章则告诉你如何施行那些观念。  
   
  本书第一篇的程序是以C完成的,C++   的分量很少。从第二篇开始我们就往C++   移动了。一如我在第9章所说,C++   是大势所趋,不论你是否使用MFC。如果你的C++   根基不稳,我希望你特别注意一下第9章。  
   
   
  谁应该读这本书  
  凡是C/C++   程序开发人员,并有Windows程序设计经验(不论是Win16或Win32),企图对线程、核心对象、overlapped   I/O   in   Win32获得更坚实之认识者,本书就是针对你们而写的。本书谈的是   API   函数的使用、你会遭遇的问题,以及Windows架构对其用途的影响。    
  读过本书之后,你将有能力分析哪里是线程可以发挥效用的地方,哪里是你应该躲闪它们的地方。几乎整本书的重点都放在产生真正可用的程序上。神秘手法以及不安全的设计已经被我排除了。  
   
  Unix程序员将会发现,Win32和Unix之间有着基础观念上的差异。  
  本书架构  
  本书的第一篇--"上路吧,线程",为你建立必要的基础,包括线程的启动和结束、核心对象、激发和未激发状态的意义、同步机制及其用途。有经验的   Win32   程序员或许可以跳过这一部分。不过第6章所讨论的主题(诸如   I/O   completion   ports),是非常重要的题目,而且总的来说,其文件非常贫乏。  
   
  本书的第二篇,"多线程程序设计的工具与策略",介绍C   runtime函数库和MFC对线程的支持、如何在USER和GDI的限制之下施行多线程、如何产生一个DLL、如何对多线程程序调试。这一部分的许多信息来自于我们的研究和实际经验。  
   
  本书的第三篇,"真实世界中的多线程应用程序",谈论如何组织一个程序,使它有效支持多线程。本篇示范两个真实世界中的应用软件,第一个是个freethreaded   OLE   automation   server,第二个是   ISAPI程序,是个IIS(Internet   Information   Server)扩充软件,示范如何和JET数据库交谈。  
  关于范例程序  
  整本书中我用了许多文本模式程序来示范观念。有些人不喜欢这种选择,但我相信一个50~100行的程序绝对比一个有着消息循环、资源文件、窗口函数……并且超过750行的Windows程序更能够集中读者的目光。读这本书你不会看到太多与用户界面相关的东西。我相信本书的范例程序以其目前的形态对你会比较有帮助。  
   
  面对这些范例程序,我使用了多方的错误检验。虽然这些检验导致程序代码看起来有些杂乱,但是错误检验对于生产一个真正的应用软件很重要,对于一本书也很重要。  
  相关阅读  
  有两样东西是任意时候你尝试写任意Win32程序时应该要准备的。第一样东西是Microsoft   Developer   Network。其光盘内含不可置信的巨量技术资料,包括Microsoft   Knowledge   Base、编译器和   Win32的完整手册,以及Microsoft   Systems   Journal。第二样东西是Jeffrey   Richter的一本卓越书籍:Advanced   Windows   NT:   The   Developers   Guide   to   the   Win32   API   for   Windows   NT   3.5   and   Windows   95(Microsoft   Press,1995)。虽然其中遗漏了某些   NT   3.51   的新东西,但其他方面非常有价值。  
   
  译注:Jeffrey的书已出至第3版,名为Advanced   Windows   Third   Edition。它的小标题写着:for   Windows   95   &   Windows   NT   4.0。  
   
   
      侯捷译序   ↑   top    
   
  thread就是"线"。台湾计算机术语采用"绪"这个译词,"绪"就是"线"的雅称,multithread就是"多绪"。大陆计算机术语采用"线程"一词,multithread就是"多线程"。    
  Threads(线程)是比processes(进程)更小的执行单元,CPU的调度与时间分配皆以threads为对象。  
   
  计算机领域中早就存在threads的观念和技术,但是早期个人电脑操作系统(主要是DOS),别说multithread,连multitask,   multiuser亦不可得。因此,从当时,乃至延伸至今,threads的概念和功能对许多非计算机专业科班出身者而言,属于一种"崇高而难以亲近"的位阶,对许多计算机专业科班出身者而言,却又只是"操作系统"这门课里高高在上的一个名词。  
   
  本书第一章第一句话值得玩味:"计算机工业界每有新的技术问世,人们总是不遗余力地去担忧它是不是够重要。公司行号虎视眈眈地注意其竞争对手,直到对方采用并宣扬这技术有多么重要,才开始急急赶上。不论这技术是不是真的很重要,每一个人都想尽办法让终端用户感觉真的很重要。终端用户终于真的觉得需要它了--即使他们完全不了解那是什么东西。"  
   
  threads大约就是这么一种东西吧。OS/2、Windows   NT、Windows   95这类"新一代PC操作系统"初上市时,便一再强调其抢先式多任务(preemptive   multitasking)的多线程(multithreaded)环境。拜强势行销之赐,霎时间线头到处飞舞,高深的计算机术语在街巷里弄之间传播了开来,颇有点   "Neural   Fuzzy"洗衣机的味道。  
  这倒也算是好事!  
   
  搞不清楚threads是什么,对终端用户而言或许没有关系,对技术人员可就不妙。Threads绝对可以缩短程序的执行时间吗?应该尽量多产生threads来帮助程序工作吗?任何种类的程序都可以获得multithreads的好处吗?错!错!错!似是而非的观念可能会把你的程序带往更坏(而非更好)的境界。  
   
  Threads不是新东西,但它借着   Windows   的庞大装机量初次广泛进入个人电脑世界,带给个人电脑巨大的冲击。产生threads毫无困难,要让它们分工容易,而要让它们合作,那可就得花相当多的心思。Threads不一定带来好处,运用不当的话,它会在执行效率上惩罚你。  
   
  Threads是   Win32   操作系统和   Win32   程序设计不可或缺的重要环节,每一本重量级Win32程序设计书籍都不会忽略这个题目(请参考附录B)。但是这些书多半仅以一章(甚至只是一节)来介绍这个题目。不够,真的不够,我们缺乏一本兼具理论并重实际的threads专著。《Multithreading   Applications   in   Win32》的内容兼具理论和实际,轻薄短小的身形则在大部头书当道的今天让我们心情轻松。这是一本导入性书籍,在threads专著里算是比较容易入门的。但是你必须知道,threads不可能让你轻松学习!同步控制、多线程通讯、数据一致性……样样耗费你的心神,考验你专心致志的程度。读这本书,还请你武装一下自己的精神。  
   
  对于中译本,我有以下两点说明:  
   
  1.   译本内的程序实例直接取自书附光盘。如果与英文版书面代码稍有出入,恐怕是因为作者直接在实际程序上做了点小变动而未能及时反应到书面。如果出现这种差异,我会在程序代码列表之后以译注的方式告诉你。  
   
  2.   译本保留了相当多的原文技术术语,主要是考虑本书的潜在读者层。如果不采用原文术语,可能各位反而要倒译回去半看半猜,那么译本的价值就适得其反了。许多地方我不厌其烦地在中文术语后面加上原文术语,为的也是同样的原因。   3.   Multithreading非常重要。当支持多处理器(multiprocessor)的操作系统逐渐普及时,具备多处理器的个人计算机也逐渐普及。我相信,多线程程序设计是每一位技术人员都必须面对的技术。即便现在,多线程能够提高多人、多任务程序的使用者接口(UI)反应度,同样也是高阶技术人员应该追求的目标。          
   
   
      目   录   ↑   top    
   
  函数索引(Function   Index)   封面里  
  常见问答集(Frequently   Asked   Questions)   vii  
  第一篇   上路吧,线程  
  第1章   为什么要"千头万绪"   3  
  一条曲折的路   4  
  与线程共枕   7  
  为什么最终用户也需要多线程多任务   8  
  Win32基础   10  
  Context   Switching   14  
  Race   Conditions(竞争条件)   16  
  Atomic   Operations(原子操作)   19  
  线程之间如何通讯   22  
  好消息与坏消息   22  
  第2章   线程的第一次接触   25  
  产生一个线程   26  
  使用多个线程的结果   31  
  核心对象(Kernel   Objects)   36  
  线程结束代码(Exit   Code)   40  
  结束一个线程   45  
  错误处理   48  
  后台打印(Background   Printing)   50  
  成功的秘诀   59  
  第3章   快跑与等待   61  
  看似闲暇却忙碌(Busy   Waiting)   62  
  性能监视器(Performance   Monitor)   66  
  等待一个线程的结束   72  
  叮咚:被激发的对象(Signaled   Objects)   74  
  等待多个对象   77  
  在一个GUI程序中等待   85  
  提要   91  
  第4章   同步控制(Synchronization)   93  
  Critical   Sections(关键区域、临界区域)   95  
  死锁(Deadlock)   102  
  哲学家进餐问题(The   Dining   Philosophers)   103  
  互斥器(Mutexes)   107  
  信号量(Semaphores)   115  
  事件(Event   Objects)   120  
  从Worker线程中显示输出   124  
  Interlocked   Variables   125  
  同步机制摘要   128  
  第5章   不要让线程成为脱缰野马   131  
  干净地终止一个线程   132  
  线程优先权(Thread   Priority)   138  
  初始化一个线程   144  
  提要   146  
  第6章   Overlapped   I/O,在你身后变戏法   149  
  Win32文件操作函数   151  
  被激发的File   Handles   155  
  被激发的Event对象   159  
  异步过程调用(Asynchronous   Procedure   Calls,APCs)   163  
  对文件进行Overlapped   I/O的缺点   171  
  I/O   Completion   Ports   172  
  对Sockets使用Overlapped   I/O   182  
  提要   190  
  第二篇   多线程程序设计的工具与手法  
  第7章   数据一致性(Data   Consistency)   195  
  认识volatile关键字   196  
  Referential   Integrity   200  
  The   Readers/Writers   Lock   205  
  我需要锁定吗?   214  
  Lock   Granularity(锁定粒度)   215  
  提要   216  
  第8章   使用C   Run-time   Library   219  
  什么是C   Runtime   Library多线程版本   220  
  选择一个多线程版本的C   Runtime   Library   221  
  以C   Runtime   Library启动线程   224  
  哪一个好:CreateThread()抑或   _beginthreadex()?   227  
  避免stdio.h   237  
  一个安全的多线程程序   240  
  结束进程(Process)   248  
  为什么你应该避免   _beginthread()   248  
  提要   251  
  第9章   使用C++   253  
  处理有问题的   _beginthreadex()函数原型   253  
  以一个C++   对象启动一个线程   256  
  建立比较安全的Critical   Sections   265  
  建立比较安全的Locks   268  
  建立可互换(Interchangeable)的locks   270  
  异常情况(Exceptions)的处理   274  
  提要   274  
  第10章   MFC中的线程   277  
  在MFC中启动一个Worker线程   278  
  安全地使用AfxBeginThread()的传回值   282  
  在MFC中启动一个UI线程   288  
  与MFC对象共处   293  
  MFC的同步控制   296  
  MFC对于MsgWaitForMultipleObjects()的支持   300  
  提要   301  
  第11章   GDI与窗口管理   303  
  线程的消息队列   304  
  消息如何周游列国   306  
  GUI效率问题   311  
  以Worker线程完成多线程版MDI程序   311  
  多个上层窗口(Top   Level   Windows)如何是好?   313  
  线程之间的通讯   314  
  NT的影子线程(shadow   thread)   316  
  关于"Cancel"对话框   316  
  锁住GDI对象   319  
  提要   319  
  第12章   调试   321  
  使用Windows   NT   322  
  有计划地对付错误   322  
  Bench   Testing   323  
  线程对话框   324  
  运转记录(Logging)   325  
  内存记号(Memory   Trails)   327  
  硬件调试寄存器(Hardware   Debug   Registers)   328  
  科学方法   330  
  提要   333  
   
  第13章   进程之间的通讯(Interprocess   Communication)   335  
  以消息队列权充数据转运中心   336  
  使用共享内存(Shared   Memory)   345  
  使用指针指向共享内存(Shared   Memory)   354  
  较高层次的进程通讯(IPC)   362  
  提要   364  
  第14章   建造   DLLs   367  
  DLL的通告消息(Notifications)   369  
  通告消息(Notifications)的问题   375  
  DLL进入点的依序执行(Serialization)特性   378  
  MFC中的DLL通告消息(Notifications)   379  
  喂食给Worker线程   380  
  线程局部存储(Thread   Local   Storage,TLS)   384  
  _declspec(thread)   390  
  数据的一致性   392  
  提要   393  
  第三篇   真实世界中的多线程应用程序  
  第15章   规划一个应用程序   397  
  多线程的理由   398  
  要线程还是要进程?   403  
  多线程程序的架构   404  
  评估既有程序代码的适用性   406  
  对ODBC做规划   411  
  第三方的函数库(Third-Party   Libraries)   413  
  提要   413  
  第16章   ISAPI   415  
  Web服务器及其工作原理   416  
  ISAPI   417  
  IS2ODBC范例程序   420  
  提要   427  
  第17章   OLE,ActiveX,COM   429  
  COM的线程模型(COM   Threading   Models)   431  
  AUTOINCR范例程序   437  
  提要   443  
  附录A   MTVERIFY宏   445  
  附录B   更多的信息   451  
   
   
      常见问题集   ↑   top    
   
  FAQ   01:合作型(cooperative)多任务与抢先式(preemptive)多任务有何不同?   5  
  FAQ   02:我可以在Win32s中使用多个线程吗?   6  
  FAQ   03:线程和进程有何不同?   10  
  FAQ   04:线程在操作系统中携带多少"行李"?   11  
  FAQ   05:Context   Switch是怎么发生的?   14  
  FAQ   06:为什么我应该调用CloseHandle()?   38  
  FAQ   07:为什么可以在不结束线程的情况下关闭其handle?   40  
  FAQ   08:如果线程还在运行而我的程序结束了,会怎样?   47  
  FAQ   09:什么是MTVERIFY?   48  
  FAQ   10:我如何得知一个核心对象是否处于激发状态?   74  
  FAQ   11:什么是一个被激发的对象?   75  
  FAQ   12:"激发"对于不同的核心对象有什么不同的意义?   76  
  FAQ   13:我如何在主线程中等待一个handle?   85  
  FAQ   14:如果线程在critical   sections中停很久,会怎样?   101  
  FAQ   15:如果线程在critical   sections中结束,会怎样?   101  
  FAQ   16:我如何避免死锁?   103  
  FAQ   17:我能够等待一个以上的critical   sections吗?   106  
  FAQ   18:谁才拥有semaphore?   118  
  FAQ   19:Event   object有什么用途?   120  
  FAQ   20:如果我对着一个event对象调用PulseEvent()  
  并且没有线程正在等待,会怎样?   124  
  FAQ   21:什么是overlapped   I/O?   150  
  FAQ   22:Overlapped   I/O   在Windows   95上有什么限制?   150  
  FAQ   23:我能够以C   runtime   library使用overlapped   I/O吗?   152  
  FAQ   24:Overlapped   I/O总是异步地(asynchronously)执行吗?   158  
  FAQ   25:我应该如何为overlapped   I/O产生一个event对象?   159  
  FAQ   26:ReadFileEx()和WriteFileEx()的优点是什么?   163  
  FAQ   27:一个I/O   completion   routine何时被调用?   163  
  FAQ   28:我如何把一个用户自定义数据传递给I/O   completion   routine?   165  
  FAQ   29:我如何把C++   成员函数当做一个I/O   completion   routine?   170  
  FAQ   30:在一个高效率服务器(server)上我应该怎么进行I/O?   172  
  FAQ   31:为什么一个I/O   completion   ports是如此特殊?   175  
  FAQ   32:一个I/O   completion   port上应该安排多少个线程等待?   179  
  FAQ   33:为什么我不应该使用select()?   183  
  FAQ   34:volatile如何影响编译器的最优化操作?   198  
  FAQ   35:什么是Readers/Writers   lock?   206  
  FAQ   36:一次应该锁住多少数据?   215  
  FAQ   37:我应该使用多线程版本的C   run-time   library吗?   220  
  FAQ   38:我如何选择一套适当的C   run-time   library?   221  
  FAQ   39:我如何使用   _beginthreadex()和   _endthreadex()?   224  
  FAQ   40:什么时候我应该使用   _beginthreadex()而非CreateThread()?   227  
  FAQ   41:我如何使用Console   API取代stdio.h?   240  
  FAQ   42:为什么我不应该使用   _beginthread()?   248  
  FAQ   43:我如何以一个C++   成员函数当做线程起始函数?   256  
  FAQ   44:我如何以一个成员函数当做线程起始函数?   261  
  FAQ   45:我如何能够阻止一个线程杀掉它自己?   282  
  FAQ   46:CWinApp和主线程之间有什么关系?   290  
  FAQ   47:我如何设定AfxBeginThread()中的pThreadClass参数?   293  
  FAQ   48:我如何对一个特定的线程调试?   324  
  FAQ   49:如果一个新的线程使用了我的DLL,我如何被告知?   370  
  FAQ   50:为什么我在写DLL时需要小心所谓的动态链接?   376  
  FAQ   51:为什么我在DllMain中启动一个线程时必须特别小心?   379  
  FAQ   52:我如何在DLL中设定一个thread   local   storage(TLS)?   389  
  FAQ   53:_declspec(thread)的限制是什么?   392  
  FAQ   54:我应该在什么时候使用多线程?   398  
  FAQ   55:我能够对既有程序代码进行多线程操作吗?   406  
  FAQ   56:我可以在我的数据库应用程序中使用多线程吗?   411    
   
      封底文字   ↑   top    
   
  使用线程,你可以产生高效率的服务器,建立Internet服务器扩充软件,获得多CPU系统的好处,建立精巧的COM/OLE对象,并改善程序的反应度。写出这样的软件,需要更多的理论基础,以及一本参考手册;需要广泛了解每一件事情如何彼此相称,   需要一份指南,告诉你什么可以正常运作,什么不能!通过Win32   API、Windows   NT以及Windows   95都可以支持多线程程序设计,但是这个重要主题的信息却极稀有而不够详尽。在《Win32多线程程序设计》这本书中,Jim   Beveridge和Robert   Wiener告诉你什么时机、什么地点、什么方法可以使用多线程。本书主题包括:  
  ●   Internet开发范例,包括ISAPI和WinSock。  
  ●   如何在服务器中使用线程和overlapped   I/O。  
  ●   如何在多线程环境中使用C   runtime函数库和MFC。  
  ●   以C和C++写成的各个范例程序。  
  ●   UNIX环境比较。让UNIX下的开发人员能转移到Win32。  
   
  ◆作者   Jim   Beveridge在操作系统的研究领域中已有15年之久,从多处理器数据库到microkernel操作系统的开发,都有经验。他于Rochoester   Institute   of   Technology   获得计算机科学学士学位。他目前受聘为Turning   Point   Software   公司顾问。  
   
  ◆作者   Robert   Wiener从Carnegie   Mellon   University获得计算机工程学士学位。他有8年的Windows应用软件开发经验,目前他正把这些经验运用于Trellix公司的MFC和ActiveX相关专题。  
   
  ◆译者   侯捷,获得台湾清华大学动力机械硕士学位,进入Windows操作系统和Windows程序设计领域有7年之久。他是海峡两岸著名的电脑技术自由作家,对于技术的钻研,有独特的品性和坚持。作品涵盖著、译、评三方面,散见于各种刊物、媒体、网站论坛,深受读者喜爱和尊敬。    
   
   
  (转自http://www.huachu.com.cn/book/hjyd.asp)  
   
   
   
  Top

2 楼eiyaa(绿豆)回复于 2002-01-20 21:30:48 得分 0

今年过年可以抱着书过年了...Top

3 楼hg0001(CoolFish)回复于 2002-01-20 22:21:18 得分 0

g   zTop

4 楼Kill_EM_All(七色彩虹,梦幻。。)回复于 2002-01-20 23:46:40 得分 0

 
  等不及了,   我明天要回家了  
   
  Top

5 楼jackhacker()回复于 2002-01-21 01:02:20 得分 0

goodTop

6 楼hh()回复于 2002-01-22 00:14:07 得分 0

预计上市日期:1月31日   ?  
   
  可以早点吗?  
  Top

7 楼vcmfc(【痛苦的虫虫】)回复于 2002-01-22 11:19:30 得分 0

to   hh:  
   
  你那鬼邮箱,到目前我发了至少10封信,都被退回,快受不了。  
   
   
  263与21cn是不是有问题呀!,我一发就退回来,TMD。Top

8 楼rami(瓦西里.扎伊采夫)回复于 2002-01-26 09:38:17 得分 0

太好了。我一定买。Top

9 楼bookOz(mp4ipplayer)回复于 2002-01-26 13:43:28 得分 0

早该有这样一本书了,快点出版吧Top

10 楼iamatig(我是老虎tig!)回复于 2002-01-27 01:03:27 得分 0

在哪订呀???  
  NBA21@YEAH.NET  
  Top

11 楼yeka(叶卡)回复于 2002-01-27 12:06:40 得分 0

www.china-pub.com和www.huachu.com以及www.cnforyou.com都提供预定。Top

12 楼hg0001(CoolFish)回复于 2002-02-08 00:53:05 得分 0

抓紧出了!Top

13 楼ciml(镜子)回复于 2002-02-09 16:52:36 得分 0

要是纯粹的sdk例子多好!为什么用mfc来作例子!  
  我真的太讨厌mfc了  
  不过,我还是会买的Top

14 楼wangf501()回复于 2002-02-10 12:22:09 得分 0

to   ciml(镜子)   :  
        本书的例子分两种,既有SDK,也有C++,涉及MFC框架很少,讲解的重点是SDK   API,C++例子主要演示用类封装API,很好懂。Top

15 楼arnoldmjw(明年今日,十年之后,我们还是朋友)回复于 2002-02-10 17:55:19 得分 0

在武汉的的大概什么时候出,出的时候告诉我一声,我的EMAIL:arnoldmjw@371.netTop

16 楼rami(瓦西里.扎伊采夫)回复于 2002-02-11 10:27:53 得分 0

太好了。yeka,   thank   you   very   muchTop

相关问题

  • 请问: 在哪能买到 《win32 多线程程序设计〉
  • 高分求<<win32多线程程序设计>>源码
  • 求《win32多线程程序设计》的源代码,谢谢!!
  • 求 Win32多线程程序设计 配套光盘文件
  • 求《win32多线程程序设计的光盘源代码
  • 谁有 win32多线程程序设计 的附书源代码?
  • 谁有 win32多线程程序设计 的附书源代码?
  • 求《win32多线程程序设计》随书源码
  • 求:《Win32 多线程程序设计(候捷译)》 的代码
  • 高分求《Win32多线程程序设计源代码》

关键词

  • .net
  • c++
  • win32
  • win32 api
  • 线程
  • 多线程
  • 函数
  • 程序设计
  • mfc
  • 操作系统

得分解答快速导航

  • 帖主:yeka

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
x 提问