Welcome 微信登录

首页 / 软件开发 / C++

神话与谬误:争论C++前你应当知道什么

神话与谬误:争论C++前你应当知道什么

神话与谬误:争论C++前你应当知道什么2007-10-07 天极 刘未鹏最近写了一篇关于C++0x Concepts的文章,意料之外地引起了一场小规模口水仗。回各位帖子的同时,回想这些年C++社群的大小争论,觉得有必要把一些长久以来在C++争论中出现的误解列举出来。…History became legend, legend became myth …- The Lord of the Rings哈雷将军的笑话想必大家都听过。一...
在C/C++算法设计中使用任意位宽

在C/C++算法设计中使用任意位宽

在C/C++算法设计中使用任意位宽2007-10-07 天极 谢启东开发定点(fixed-point)算法时,通常需要在设计功能性、数字精度建模、及验证(仿真)速度之间取得一个平衡。现在,一种新的数据类可使此过程简单化,由此得到更简单精确的建模精度、更好的数字求精、及更快的验证周期,而ANSI C/C++正是开发这种数字求精算法的最佳语言。某此算法天生就适用于操作整数,或那些理想中的实数(如数字滤波器的系数),它们也可能会使用浮点或定点类型。一般而言,在算...
初学者该如何学习C++以及编程

初学者该如何学习C++以及编程

初学者该如何学习C++以及编程2007-10-07 天极 Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不少时间。为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节的重要性和有趣。三是现代C++库的开发哲学必须用到一些犄角旮旯的语言细节(但注意,是库设计,不是日常编程...
如何在C++ Builder 2007中安装自己的组件

如何在C++ Builder 2007中安装自己的组件

如何在C++ Builder 2007中安装自己的组件2007-10-07 ccrun.com etjon如何安装自己在 BCB 6 或使用C++ Builder 2007 所制作的组件呢? 我想在旧版的 BCB 6 中大家都很清楚如何安装一个由 Component->new Component 所建立的组件,通常若我们没有自己新增一个新的 Package 专案并加入组件的话,BCB 6 会预设一组 dclusr.bpk 供你安装你的组件,当然你自己...
SoC设计中杜比数字加的实现优化

SoC设计中杜比数字加的实现优化

SoC设计中杜比数字加的实现优化2007-10-07 网 杜比数字加——最新一代的杜比数字技术,正在进入下一代家庭娱乐应用,将给人们带来超级的音质,更高效率的音频压缩,以及更完善的用户体验。杜比数字加,或者叫做增强型AC-3(E-AC-3),已经发展到能够满足目前尚处于萌芽阶段的两个市场(即高清DVD和蓝光播放机)的各种需求。对于新兴的高清DVD和蓝光播放机来说,杜比数字加的数据压缩能力使得人们能够在电影制作室里实现高清视频与超级语...
关于RICHEDIT的两个问题

关于RICHEDIT的两个问题

关于RICHEDIT的两个问题2007-10-08问题1:RichEditCtrl在用进行数据交换的时候会发生数据丢失问题?为什么!当我们在拖了一个控件到程序里后,通常的做发是Ctrl+W,用类向导给控件关联一个变量,然后依靠DDX/DDV进行数据交换,如果我们用同样的方法来给RICHEDIT关联一个CString类型的变量就会存在一个问题,就是如果我们的数据大于了64K,数据就会丢失。通过查MSDN发现,WM_GETTEXT消息并没有设计在RICHEDI...
利用IFELanguage分隔中文语句并对汉字加注拼音

利用IFELanguage分隔中文语句并对汉字加注拼音

利用IFELanguage分隔中文语句并对汉字加注拼音2007-10-07ccrun这篇文档是讲如何利用IFELanguage接口实现对中文语句的分隔,并对词语和字加注拼音的方法。首先感谢一下Zswang(伴水)兄弟,他的无私奉献精神和对Windows的深入研究值得我们每一个人学习。每次找到好东东他总是给我一份,包括这个IFELanguage接口资料。最初的资料源自一个日本网站,源代码是用VC8写的,Zswang(伴水)将其改写为一个适用于Delphi下的...
实例解析C++/CLI的串行化

实例解析C++/CLI的串行化

实例解析C++/CLI的串行化2007-10-08 天极 谢启东串行化可使对象被转换为某种外部的形式,比如以文件存储的形式供程序使用,或通过程序间的通讯发送到另一个处理过程。转换为外部形式的过程称为"串行化",而逆过程称为"反串行化"。简介请看例1中的示例,其将多个对象类型的值写入到一个新的磁盘文件中,关闭文件,接着再把这些值重新读取到内存中。例1:using namespace System;using names...
实例解析C++/CLI的“克隆”

实例解析C++/CLI的“克隆”

实例解析C++/CLI的“克隆”2007-10-08 天极 谢启东C++/CLI不但支持基于堆栈的对象,同时也支持基于堆的对象;然而,如果想与其他基于CLI的(如C#、J#、Visual Basic)进行互操作的话,必须要清楚地知道,这些语言只支持基于堆的对象;当处于基于堆的对象环境中时,你与对象之间,永远只有"一臂之遥",比方说,两个给定的句柄h1与h2,只有在为这种句柄类型定义了相应的赋值操作符时,*h1 = *h2才会工作正常,而...
如何在C++ Builder 2007中添加ActiveX控件

如何在C++ Builder 2007中添加ActiveX控件

如何在C++ Builder 2007中添加ActiveX控件2007-10-07 ccrun.com seekerBCB2007 的发布是一件令人振奋的事情,它强大的功能和良好的稳定性让我决定从BCB6.0 转向2007。BCB2007 的变化还是比较大的,它不能像6.0那样方便地安装我们的ActiveX 控件,甚至有些网友说它根本不能安装ActiveX 控件,这样导致了广大网友对BCB2007的不满。BCB2007真的无法安装我们的ActiveX 控件...
实例解析C++/CLI线程之多任务

实例解析C++/CLI线程之多任务

实例解析C++/CLI线程之多任务2007-10-08 天极 谢启东简介从处理器的角度来看,线程是一个单独的执行流程,每个线程都有各自的寄存器及堆栈上下文。通常来说,在中只有一个处理器或处理器只有一个核心时,运行时环境在一个时间片内只能执行一个线程,当线程未能获取所需的资源时,线程的执行就会被中断,且会一直等到相关操作的完成,如I/O;或者在线程用完它的处理器时间片时,也会被中断下来等待。而处理器把执行流程从一个线程切换到另一个线程时,这称为"上...
C++引用计数的智能指针有效回收方法

C++引用计数的智能指针有效回收方法

C++引用计数的智能指针有效回收方法2007-10-07 天极 谢启东引用计数指针是否能有效地回收,对意外关机之后数据的恢复来说至关重要,关键是要避免对象复制。怎样从灾难性故障中,恢复一个长期运行、系统级的后台守护进程或者服务,在如今的软件设计过程中,已成为了一个重要的考虑因素。当这些软件是由C++语言编成,并使用了引用计数的智能指针时,那么,智能指针的有效回收,对系统是否具有可伸缩级的恢复能力、甚至正确地继续未完成的操作来说,都显得至关重要。在本文中,描...
C++ Builder 2007的快速安装

C++ Builder 2007的快速安装

C++ Builder 2007的快速安装2007-10-07 ccrun.com wskjuf对于崇尚中庸之道的朋友,就不必理会这篇文章了。简单说明一下目前网络安装的简单过程:安装向导cbuilder2007trialsetup.exe检测是否有.net 2.0环境,这个好办,如果没有安装环境,在网上可以下载到并安装。但是它的本体,全部安装文件400多M,通过安装向导的单线程进行下载,临近每个文件结尾的时候还留下非常充裕的时间给你上wc,你需要上这么多次...
实例解析C++/CLI之值类型

实例解析C++/CLI之值类型

实例解析C++/CLI之值类型2007-10-08 天极 谢启东值类型是一种轻量级的CLI类机制,非常适合于小型的数据结构,且从语义的角度来看,与数值(Value)类似。与之相比,引用类型的实例--包括那些声明在堆栈上的,是由垃圾回收器管理的,而值类型的实例却不是。一般来说,一个值类较好的实现应只有一些数据成员,而不需要继承性,这样,在函数传递及返回值、或是赋值操作时,不会带来巨大的数据开销。值类初印像请看例1中的Point类,可以通过替换ref为valu...
C++/CLI解析之基于堆栈的对象与跟踪引用

C++/CLI解析之基于堆栈的对象与跟踪引用

C++/CLI解析之基于堆栈的对象与跟踪引用2007-10-08 天极 谢启东在托管堆上分配对象实例,似乎是使用托管扩展C++、#、J#、VB.NET程序员的唯一方法,而使用本地C++的程序员,不但可以在堆上分配内存,甚至更惯于使用基于堆栈的对象实例。现在回顾一下以前定义的Point引用类,再来看一下以下变量定义:Point p1, p2(3,4);从本地C++的角度来说,p1与p2应为基于堆栈的引用类Point实例,哪怕是从一般性的角度来看,它们也是。P...
解析C++/CLI之头文件、内联函数与数组

解析C++/CLI之头文件、内联函数与数组

解析C++/CLI之头文件、内联函数与数组2007-10-08 天极 谢启东头文件与函数声明在传统的设计与实现中,你可对需建模的每种类型进行定义,并把定义放在各自的头文件中;而头文件中,一般会包含类型名、成员名、及相关小型成员函数的内联定义。与各个单独编译的源文件是通过头文件来共享信息不同,在C++/CLI中,这些信息是通过程序集来共享的。就拿常举例的Point类来说,它单独编译,并生成了一个名为"Point.dll"的程序集。任何需要...
如何禁用一个树节点(Disable Tree Node)

如何禁用一个树节点(Disable Tree Node)

如何禁用一个树节点(Disable Tree Node)2007-10-07TTreeView是VCL中提供的树列表控件,树的每个节点是一个TTreeNode类,TTreeNode组件的属性和方法可以参考Borland提供的帮助(虽然不如MSDN全面,但有总比没有强)。实际应用中我们可能需要禁用某个节点(界面上反应的效果是:节点字体呈灰色显示,节点无法选中等)。但是VCL没有提供Node->Disable();或Node->Enable=fal...
<< 151 152 153 154 155 156 157 158 159 160 >>