• 发布时间 文章标题
  • 2006-07-06 利用Visual C++实现系统托盘程序

    自从微软公司推出Windows 95操作系统以来,系统托盘应用作为一种极具吸引力的用户界面设计深受广大用户的喜爱。使用系统托盘作为用户界面的Windows应用程序数不胜数,比如"金山词霸"、"Winamp"、"RealPlayer"等等。 这些程序运行时不显示运行窗口,只在任务栏上显示一...

  • 2006-07-06 VC++中利用/GS开关防止缓冲区溢出

    缓冲区溢出通常表现为一个最为常见的漏洞而存在于今天的各种软件之中,黑客可以用恶意的输入,从而更改程序的执行流程,由此入侵相应的进程、电脑、或整个域。如果进程运行于一个高度受信的账户之下,如管理员或本地系统账户,那么黑客带来的破坏将是极其严重,并有潜...

  • 2006-07-06 函数指针与软件设计

    记得刚开始工作时,一位高手告诉我,说,longjmp和setjmp玩得不熟,就不要自称为C语言高手。当时我半信半疑,为了让自己向高手方向迈进,还是花了一点时间去学习longjmp和setjmp的用法。后来明白那不单是跳来跳去那样简单,而是一种高级的异常处理机制,在某些情况下确...

  • 2006-07-06 C++中要求(或禁止)对象产生于heap中

    要求对象产生于Heap之中 考虑如下代码: classHeapClass { public: voidDestory() const {deletethis;} private: ~HeapClass(){} }; HeapClass* ptr = newHeapClass; ptr-Destory(); 这样的调用真是很厉害,想生成非Heap对象都不成了。 对于继承和组合的情况不想多说了...

  • 2006-07-06 在CPP中调用Jscript中的函数

    在 CPP 中调用 Jscript 中的函数 在 C++ 中调用 Jscript 的函数非常简单, Windows 提供了一个 msscript.ocx 的控件,利用这个控件可以直接操作 Jscript: 执行一段 Jscript 脚本,或者调用指定的函数。我写了一个简单的例子: l 导入 msscript.ocx 。下面这条指令会在...

  • 2006-07-06 C/C++ 程序设计员应聘常见面试试题深入剖析

    1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函...

  • 2006-06-01 踏入C++中的雷区——C++内存管理详解

    伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody— Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需...

  • 2006-06-01 在c++程序中重启自己的一种方法 

    在工程.cpp文件(Project1.cpp)中加入: #include "Unit1.h" WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application-Initialize(); Application-CreateForm(__classid(TfrmMain), frmMain); Application-Run(); } catch (Exception exception) { Applic...

  • 2006-06-01 C++:最强大的.NET语言之对象构造

    简介 Visual C++开发小组花了大量的时间用于听取用户的意见,在对 .NET和C++经过仔细考量之后,决定在Visual C++ 2005中重新设计对通用语言运行时库(CLR)的支持,此项重新的设计被称为"C++/CLI",它将为使用及编写CLR类型提供更自然的语法。在本文中,主要探讨了新的...

  • 2006-06-01 C++对象的拷贝与赋值操作

    我发现一些同事在编写一个类时,知道什么时候需要实现拷贝构造函数和赋值操作,但不知道什么时候拷贝构造函数被调用,什么时候赋值操作被调用,甚至把二者混为一谈。 要弄明白这个问题,最简单的做法莫过于写个测试程序试一下。不过那样做也未必是好办法,实验的结果往...

  • 2006-06-01 初学者必备:C++经典入门详细教程

    下面的是学C++时要注意的。 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不...

  • 2006-06-01 用GDI+实现半透明渐变的特效窗口

    偶然间甜石榴兄弟给我一个东东,是BlueCrab用VC写的利用GDI+技术实现半透明渐变窗口的特效,看起来很不错。在此对BlueCrab和甜石榴深表感谢。ccrun(老妖)花了点时间将其在BCB中实现,并实现了简单的动态换肤。效果图: 在C++Builder中使用GDI+的方法和代码网上遍地都是...

  • 2006-06-01 C++的救赎 C++开源程序库评话

    C语言天生就与开放结缘。C最初是作为UNIX的系统编程语言而流行起来的,而UNIX可以被认为是第一个产生重大影响的“开源”软件。随着UNIX的流行,C语言逐渐被人们认识和喜爱。很快的,在各个平台上C语言都成为了流行的甚至是统治性的程序设计语言。 大约到1980年代中期,...

  • 2006-04-19 如何编写异常安全的C++代码

    我承认,这样的代码不如前面的简洁和容易理解,但是它更灵活,无论函数名称是什么,都可以拿来结对。我们可以加强对bind的运用,结合占位符和reference_wrapper,就可以处理函数参数、动态绑定变量。所有我们在catch内外的相同工作,交给pair_guard去完成即可。 考察前面...

  • 2006-03-31 C++程序员必需的修养

    我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修养”,通过这些,你可以写出质量高的程序,同时也会让看你程序的人渍渍称道,那些看过你程序的人一定会说:“这个人的编程修养不错”。 01、版权和版本 02、缩进、空格、换行、空行、对齐 03、程序注...