概念
文章平均质量分 92
概念
wishfly
这个作者很懒,什么都没留下…
展开
-
Visual C++.NET中的字符串转换方法(ZT)
Visual C++.NET涉及到ATL/ATL Server、MFC和托管C++等多种编程方式,不仅功能强大而且应用广泛。在编程中,我们常常会遇到ANSI、Unicode以及BSTR不同编码类型的字符串转换操作。本文先介绍基本字符串类型,然后说明相关的类,如CComBSTR、_bstr_t、CStringT等,最后讨论它们的转换方法,其中还包括使用最新ATL7.0的转换类和宏,如CA2CT、CA转载 2005-03-21 15:07:00 · 965 阅读 · 0 评论 -
wspsrv
I found something interesting running Process Explorer (www.sysinternals.com): wspsrv, the ISA 2004 firewall service, was spiking my CPU at 100% at 5 second intervals. One would think that my serv原创 2007-03-29 11:33:00 · 1261 阅读 · 0 评论 -
设置子进程为“静默模式”
相信大多数的程序员或用户,在Windows中见到类似于下面的亲切而又温馨的提示信息,都不会感到陌生:“XXX执行了非法操作,将被关闭。要终止程序,请单击;要调试程序,请单击。”或者,“是否向Microsoft发送错误报告?,。”如果这个程序运行在无人值守、需要保持连续工作状态的场合,而其中的bug又一时难以排除,就需要采取应急措施,消除或减少程序出错造成的影响。本文讨论解决这个问题的办法。转载 2007-04-18 10:20:00 · 1267 阅读 · 0 评论 -
透过汇编另眼看世界之DLL导出函数调用
DLL的导出/导入机制到底是怎么实现的呢?本文通过引用大量的文章和对实际汇编代码的深入分析,理论联系实际,深入剖析了大量隐藏在背后的秘密。前言:我一直对DLL技术充满好奇,一方面是因为我对DLL的导入/导出机制还不是特别的了解,另一面是因为我发现:DLL技术在Windows平台下占有重要的地位,几乎所有的Win32 API都是以导出函数的形式存放于不同的DLL文件中,在DLL转载 2007-05-10 08:39:00 · 1234 阅读 · 0 评论 -
透过汇编另眼看世界之多继承下的虚函数函数调用
透过汇编另眼看世界之多继承下的虚函数函数调用发表日期:2007-5-09更新日期:2007-5-09作者文章阅读次数:206源自:A Programming Bug (个人网站) 标签:汇编您认为本文应该得 12345 打印|收藏|讨论|投诉161155c9-77dc-4fd8-b56c-63fd44b928f4转载 2007-05-10 16:37:00 · 923 阅读 · 0 评论 -
深入理解C/C++指针
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start reading转载 2007-08-14 12:56:00 · 783 阅读 · 0 评论 -
常用数据类型使用转换详解
常用数据类型使用转换详解作者:程佩君读者层次:初学刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];ch转载 2007-05-15 17:53:00 · 889 阅读 · 0 评论 -
深入剖析指针
转载述: 这是一篇比较老的关于指针的文章,作者站在初学者的角度对指针作了深入的剖析。如果你在学习指针的时候有什么问题,看一看这篇文章定有收获。一。指针的概念 1。指针的类型 2。指针所指向的类型 3。指针的值二。指针的算术运算 三。运算符&和* 四。指针表达式五。数组和指针的关系 六。指针和结构类型的关系 七。指针和函数的关系 八。指针类型转换九。指针的安全问题 十、指转载 2007-08-14 13:00:00 · 589 阅读 · 0 评论 -
windows进程中的内存结构
在阅读本文之前,如果你连堆栈是什么多不知道的话,请先阅读文章后面的基础知识。 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(Globa转载 2007-08-25 17:36:00 · 829 阅读 · 0 评论 -
我理解的windows异常处理
申明: 1.本文大部份内容参考《A Crash Course on the Depths of Win32 Structured Exception Handling》,我只是对顺序进行了一些调整,同时加入了一些我的理解,所以不敢自称原创。 2.结构定义位置中的X:指的是VC6.0的安装盘符。 首先,当线程发生异常时,操作系统会将这个异常通知给用户使用户能够得知它的发生。更特别的转载 2007-08-26 23:46:00 · 771 阅读 · 0 评论 -
彻底搞定C指针-指向另一指针的指针
一. 回顾指针概念:早在本系列第二篇中我就对指针的实质进行了阐述。今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧!当我们程序如下申明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6 7 8 9 10 11 12 13转载 2007-08-24 14:21:00 · 949 阅读 · 0 评论 -
描述指针
struct nlist* (*(*install)(char *name, char *defn))(int)install和*优先,所以是个指针,记住,只要是指针,就一定会有一个指向的类型,否则,指针定义就是不完整的。由于()优先于*结合,所以,指针指向(),就是说,install是个函数指针。指向函数的指针,就要描述函数的参数和返回值。很显然,函数的参数就是char *name, char转载 2007-08-30 17:25:00 · 1123 阅读 · 0 评论 -
Runtimelibrary
首先明白动态库的概念动态库就是程序运行时候才加载到memory,动态库提供了一种机制,就是如果有多个进程在使用同一个动态库的时候,动态库中的代码,在内存中只有一份拷贝,而全局数据,给每个进程一份拷贝。所有动态库都有这个特性,所以楼主的这个问题就很明确了:Runtimelibrary 跟谁提供的没有关系,只要它是运行时候加载到memory的都叫Runtimelibrary,它可以是第三方软件厂商提供转载 2007-09-26 21:53:00 · 989 阅读 · 0 评论 -
__stdcall与__cdecl的区别
Visual C++ Compiler Options可以指定的Calling Convention有 3种: /Gd /Gr /Gz 这三个参数决定了: 1.函数参数以何种顺序入栈,右到左还是左到右。 2.在函数运行完后,是调用函数还是被调用函数清理入栈的参数。 3.在编译时函数名字是如何转换的。 下面我们分别详细介绍: 1./Gd 这是转载 2008-01-24 14:16:00 · 746 阅读 · 0 评论 -
是否可以不暴露组件的类型库信息?
用文本编辑器打开工程的.RC资源文件,不要用VC打开,把TYPELIB那部分删除掉就可以了。原创 2008-01-21 22:10:00 · 714 阅读 · 0 评论 -
认识.Net的精髓-XML和SOAP
Internet 的应用正在不断地扩大,但我们的 Internet 编程方式还处于石器时代。Internet 用户就像老式主机的分时终端上的用户一样,他们从一个受保护的资源请求信息,然后等待回应。你从正在浏览的 Internet 站点上接收的信息由它希望提供给你的、基于 HTML 的信息组成的。 但是,同远程 Web 站点进行交互式操作是不是更有趣?如果我们能用某种方法访问远程站点提供的计算转载 2007-11-14 10:48:00 · 700 阅读 · 0 评论 -
什么是元数据
什么是元数据 元数据描述数据的结构和意义,就象描述应用程序和进程的结构和意义一样。切记:元数据是抽象概念,具有上下文,在开发环境中有多种用途。元数据是抽象概念当人们描述现实世界的现象时,就会产生抽象信息,这些抽象信息便可以看作是元数据。例如,在描述风、雨和阳光这些自然现象时,就需要使用"天气"这类抽象概念。还可以通过定义温度、降水量和湿度等概念对天气作进一步的抽象概括。在数据设计过程中转载 2007-11-14 11:03:00 · 1011 阅读 · 0 评论 -
Rational 路线图
成功的软件项目归根结底都离不开软件开发最佳实践的应用,以及软件工程方法论的有效指导。Rational 软件在将近三十年专注于软件工程的发展历程里,为业界积累了丰富的软件开发经验和软件工程实践知识。并在此基础上,Rational 打造出业界领先的软件开发与交付平台。 Rational 软件开发最佳实践精华 —— RUP转载 2007-11-14 13:54:00 · 831 阅读 · 0 评论 -
CopyFileEx 函数的简单用法
复制文件可以用 CopyFile API 函数。CopyFileEx 函数的好处是:它提供了回调函数,程序员可以向用户显示复制的过程。这里我不打算介绍回调函数的详细参数,这个可以看MSDN;我说一些MSDN中没有说明的东西。1、多久回调一次?答案是:每传输 64KB 数据回调一次;2、回调原因第一次返回:CALLBACK_STREAM_SWITCH ,以后都返回:CALLBACK转载 2007-11-22 14:11:00 · 1415 阅读 · 0 评论 -
软件耦合&社会人生
在开发软件的过程里,经常需要维护目录里的数据。比如在开发银行的信用卡系统里,由于每天创建的LOG非常多,那么一个很大的硬盘,在6个月后,就占用了很多空间。这时就有这样的一个需求,把所有超过6个月的LOG数据定期删除掉。要实现这个功能就得遍历整个目录,把文件名称和文件创建的时间都超过6个月时间的文件删除掉。因此,就需使用到下面的API函数FindFirstFile和FindNextFile来实现这样原创 2008-02-17 14:28:00 · 489 阅读 · 0 评论 -
从SaaS到S+S:以退为进
IT是这样一个领域,每年它都会宣称发生了十年一遇的重大变革,至少在词汇的发明方面上是这样的。真的假的靠谱的不靠谱的“大词”夹杂在一起,永远令听众无所适从。噪音大了,真正重要的信息反而抓不住。一个行之有效的办法就是耳听为虚,眼见为实,对概念炒作充分警惕。 尽管如此,当Ray Ozzie这样的人物说话的时候,我们还是可以放下矜持,认真倾听一下的。现任微软CTO的Ray Ozzie在历史上并不是转载 2007-11-27 11:59:00 · 801 阅读 · 0 评论 -
IPO
Selling Stock IPO is an acronym for Initial Public Offering. This is the first sale of stock by a company to the public. A company can raise money by issuing either debt (bonds) or equity. If the转载 2007-11-28 01:21:00 · 1738 阅读 · 0 评论 -
IPO的意义
IPO就是initial public offerings(首次公开发行股票) 企业第一次向公众发行股票被称为IPO(Initial Public Offering)。即企业通过一家股票包销商(underwriter)以特定价格在一级市场(primary market)承销其一定数量的股票,此后,该股票可以在二级市场或店头市场(aftermarket)买卖。IPO的意义 首次公开发行股票(或上市转载 2007-11-28 09:48:00 · 5949 阅读 · 0 评论 -
what is ipo
The term initial public offering (IPO) slipped into everyday speech during the tech bull market of the late 1990s. Back then, it seemed you couldnt go a day without hearing about a dozen new dotcom转载 2007-11-29 15:59:00 · 2553 阅读 · 0 评论 -
面向对象与领域建模
多变且复杂的需求 如果没有多变的需求,也许就没有今天的面向对象软件,我们曾经试图通过需求管理、需求跟踪等等管理方式约束和减少需求频繁更新带给软件的冲击,可是这样下去的结果只有一个:使得软件更加僵化;或者程序员更加 劳累。 需求不但多变,而且经常是不可能第一次就能掌握,需求反映了某个领域的专业知识,例如数学、管理、财务或 电子商务等等,每个特定案例需求又有其特别复杂之处,几乎没有人能够第转载 2007-11-30 13:00:00 · 1164 阅读 · 0 评论 -
以数据库为核心的软件时代已经过去
以数据库为核心的软件时代已经过去,数据库时代早已结束,当我看到J2EE征途中那么多人在对象和数据库之间彷徨痛苦ing的时候,我想我该出来喊一声了。 其实这句话在几年前肯定有人喊过,因为中间件时代的来临,实际意味着数据库时代终结,正所谓一山无二虎:如果你重视数据库,你的J2EE系统就无法完全OO,只有你忽视数据库,你的系统才有可能完全迈向OO,至于数据库性能调优等特定功能都可交由EJB容器或O转载 2007-11-30 13:25:00 · 913 阅读 · 0 评论 -
优秀的实践之所以成本低是由大规模的构件重用来实现
Ivar Jacobson首先表示很高兴来参加这次由CSDN和CMP集团举办的软件2.0大会。在接下来大约30分钟的演讲中,主要与听众分享了三个观点:一、如何开发出更优秀、高效和低成本的软件?高效由多构件和积极主动的开发者来完成,低成本由大规模的构件重用实现,优秀的软件必然是实用性强,可扩展性高和稳定的产品。二、软件开发,实践为王。程序员需要更多的高级技术实践。重要的构件重用技术包括工转载 2007-11-29 12:42:00 · 858 阅读 · 0 评论 -
Initial public offering
Initial public offeringFrom Wikipedia, the free encyclopediaJump to: navigation, search"IPO" redirects here. For other uses, see IPO (disambiguation).An Initial Public Offering (IPO)转载 2007-11-29 14:24:00 · 2163 阅读 · 0 评论 -
模型驱动软件开发实战步骤
有人说:今年是AJAX年,AJAX作为软件系统表现层实现技术,怎么能和改变软件开发方式的模型驱动开发模式相比呢?DSM、Together 2006等都在2006不断亮相,因此,说2006年是领域模型年一点也不过分,因为这是一个软件新旧时代的开始之年,数据库时代已经过去。领域模型时代已经来临! 过去,当我们面对一个新的业务需求时,我们总是从先建立数据表结构开始,这种面向数据表的分析设计方法已转载 2007-11-30 12:31:00 · 1184 阅读 · 0 评论 -
纯资源的dll文件来实现多语言
在使用vc写简繁体通用程序时,对实现菜单、界面、tooltips等的文字时无法实现通用。如果写简体和繁体各一套程序,那肯定不现实。查找所有资料和文章都只能实现菜单的多语言,且使用起来也不方便;并且无法实现界面、tooltips等的多语言。因而,采用纯资源的dll文件来实现多语言。纯资源dll文件实现步骤如下:(1)创建简繁体mdi或sdi程序后,把vc框架自动创建的.rc,.rc2,.ico,.b转载 2008-02-18 18:12:00 · 868 阅读 · 0 评论 -
What Is An IPO?
The term initial public offering (IPO) slipped into everyday speech during the tech bull market of the late 1990s. Back then, it seemed you couldnt go a day without hearing about a dozen new dotcom转载 2007-11-29 15:56:00 · 2700 阅读 · 0 评论 -
为什么脚本语言是简单的
什么叫做脚本语言呢?是否不需要编译的,在运行时解释执行的就是脚本语言?更准确一点,脚本语言就是动态语言,是相对于静态语言而言的。所谓动态,就是变量的类型在运行中可变,而不是在编译前就固定了。这样说来,还是觉得有点太模糊了。因为现在的各种脚本语言太多,传统的如Javascript,VBScript以及PHP,还有更加专用的比如Bash和NAnt脚本等等。大家都有一个印象,那就是脚本语言简单,那又是为转载 2007-12-13 07:18:00 · 1090 阅读 · 0 评论 -
Agile Journal
正规的软件开发过程太烦琐,我们真的需要一个简单高效一点的开发模式,比如XP和Agile。至于什么是XP和Agile,我以为关键都是要充分发挥开发人员的主观能动性,而不仅仅把其当作一颗螺丝钉。自从上次安装了一个Mingle的测试版, 就觉得这就是我想像中的Agile项目管理工具,相比之下MS Project太过于烦琐!Mingle最让我喜欢的地方就是Use Story和Release Iterati转载 2007-12-13 09:17:00 · 644 阅读 · 0 评论 -
S+S”(软件+服务)的理念
微软认为,在服务领域,用户可以买前试用,只需按需支付;但在软件领域,用户有完全的掌控权——自行定制、一次性支付、想用多久就用多久。用户如果 选择了纯软件或纯服务的途径,实际上就等于放弃了另外一方面的优势。“S+S”可以很好地解决问题。微软“S+S”(软件+服务)的理念针对这种用户需 求,用户既可选择获得服务,也可选择继续拥有软件,或者二者得兼。转载 2007-12-13 12:01:00 · 1219 阅读 · 0 评论 -
Understanding the SDM to SML Evolution
Understanding the SDM to SML Evolution:Practical Application of the System Definition Model (SDM) and its Evolution to the Service Modeling Language (SML) Microsoft Corporation转载 2007-12-13 08:21:00 · 1305 阅读 · 0 评论 -
char * 和 BSTR的转换
char *转换到BSTR可以这样: BSTR b=_com_util::ConvertStringToBSTR("数据");///使用前需要加上comutil.h和comsupp.libSysFreeString(bstrValue); 反之可以使用char *p=_com_util::ConvertBSTRToString(b);delete p;转载 2007-12-16 10:23:00 · 1277 阅读 · 0 评论 -
重构--即在不改变现有功能的情况下修改现有代码
今天有一位同事问到一些开发的问题,我认为比较典型,故写上一段短文,希望能给大家一点启发。 我们遇到软件增加功能的时候,传统的方法是拿过源代码直接动手修改。这本身亦无可厚非,一般都是这样。但如果我们换个角度,从敏捷开发方法的角度考虑,却大有问题。因为直接修改代码本身有一个可怕的后果,就是引入bug,原先正常运转的功能面临被破坏的危险。 敏捷开发方法以快速响应用户需求和提供高质量的产品而博转载 2007-12-16 21:57:00 · 1355 阅读 · 0 评论 -
为什么每个程序员都要学C语言的五个理由
本文翻译自文章:Five more reasons why every programmer should learn。为传递信息之用,原文链接:http://www.jubuu.com/?id=131,C语言不是面向对象语言。因为这一点,任何学习C语言的人必须学会用函数思考问题。当你真正的去学习一门面向对象语言时,就会有C语言的函数学习基础去对比。这会使学习面向对象编程更容易理解和更有乐趣。转载 2007-12-14 11:04:00 · 3025 阅读 · 0 评论 -
Thread是一根琴弦
同事说omni_thread为什么要搞得那么复杂呢?对了,先问一下,你有没有用过这个类?其实,这就是一个对系统线程对象Thread的抽象,以使应用程序可以在不同平台上方便移植,而不论底层具体的线程模型。起初,这个世界是没有Thread这个概念的,只有Process。我们知道,当初操作系统就是用Process来抽象计算任务的,并负责对Process进行调度。对于单CPU系统,一个时间里只有一个Pro转载 2007-12-14 22:49:00 · 3102 阅读 · 0 评论 -
浅淡代码生成
什么是代码生成?代码生成,就是Code Generation,想必大家都不会陌生。我们使用Visual Studio等开发工具的时候,很多代码框架都是自动生成。初步的印象就是,代码生成可以减少重复工作。但是,如果更加深入的去看,就会看到,其实不仅代码框架可以自动生成,连编译器都可以认为是代码生成器—从高级语言到机器语言(这个过程太自然了,以致于我们已经不认为是代码生成了)。所以,代码生成有不同的层转载 2007-12-14 22:55:00 · 4807 阅读 · 3 评论