自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 HP Unix 发送邮件的问题

最近要写一段服务器端发送邮件的代码,由于服务器有可能是Linux也有可能是HP Unix。一开始打算直接调用mail命令发送,结果在HP Unix上编译出错,后来发现mail的选项在Linux和HP Unix是不同的。 所以必须要考虑到平台的可移植性。要发送的邮件包括附件,cc, bcc列表,一开始我以为这没什么可难的,不就是跨平台吗? 预定义宏就解决了,于是#ifdef HPUNIX....就出

2009-02-05 18:10:00 2139

转载 VC lib链接错误的总结

VC lib链接错误的总结 通过dumpbin /DIRECTIVES my.lib查看lib的缺省标准库版本然后调整自己的缺省标准库版本来适应第3方库若要使用此运行时库请忽略这些库单线程 (libc.lib)libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib多线程 (libcm

2009-01-19 14:28:00 1123

转载 子进程自父进程继承什么或未继承什么

知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是这些东西的 *拷贝*,不是它们本身。      由子进程自父进程继承到:      进程的资格(真实(real)/有效(effective)/已保存(saved)          用户号(UIDs)和组号(GIDs))环境(environme

2008-12-26 11:34:00 1408

原创 VC C运行时库(CRTL)的几个版本及选用

最近做项目碰到了一个关于在动态库中使用MFC以及在静态库中使用MFC的问题,我的工程在DEBUG编译链接时都没有问题,可是到了RELEASE编译时在链接的时候就出现如下的错误:nafxcw.lib(array_s.obj) : error LNK2005: "public: __thiscall CStringArray::CStringArray(void)" (??0CStringArra

2008-12-23 10:01:00 2915

转载 omniORB笔记

omniORB笔记12007-08-30 16:33资料来源:omniORB4.07库自带我的英文很差,要翻译和理解doc下一堆英文很有挑战性。一些简单说明:omniORB是CORBA(公用对象代理体系架构)的一种开发库,主要适用C++和python。CORBA实现了异构系统的异种语言软体合并、协作。CORBA的大体实现方式:使用IDL实现与其它编程语言的映射;

2008-12-08 17:09:00 1509

转载 POSIX线程同步

互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。1. 创建和销毁有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread

2008-12-03 17:39:00 674

转载 WINDOWS下线程同步探讨

本文主要讨论WINDOWS应用层编程的线程同步问题。在实际编程过程中,我们经常会遇到线程同步的问题,例如在编写多线程共同访问一个共享资源的程序时,如果多个线程只是读取资源那么就不会涉及到下面我们要讨论的问题;如果当有的线程读取资源,有的线程改变资源时,就会产生资源在访问时的同步问题。即当一个线程改变资源,同时其他线程也在读写该资源,这样会导致资源内容的不可确定性。为避免这种情况的发生,保证资源的完

2008-12-03 17:38:00 3094

转载 Unix系列shell程序编写(转)

[精华] Unix系列shell程序编写(转)http://www.chinaunix.net 作者:cuci  发表于:2008-07-30 17:28:34【发表评论】【查看原文】【Shell讨论区】【关闭】 Unix系列shell程序编写(上)  *Shell是什么?    任何发明都具有供用户使用的界面。UNIX供用户

2008-10-16 13:14:00 597

转载 MFC CString用法指南

   CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。  使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,但囊括了大部分常见基本问题。这篇文章包括以下

2008-07-25 16:45:00 1687

转载 用调试函数跟踪API

 在分析研究目标程序的内部调用机制时是非常有帮助的。在这里所指的API,不仅包括狭义上的Windows系统函数,还包括广义上第三方(及自身)提供DLL的输出函数。如果从跟踪监视的需求来讲,跟踪监视的API就不仅仅包括广义的API,更希望包括EXE和DLL中的内部未导出的函数。 对某一目标程序进行API函数的跟踪监视分析时,一般来讲是没有源代码和调试版本,更多的情况是只有EXE和DLL的

2008-07-22 09:39:00 1222

转载 《加密解密 技术内幕》--用调试函数跟踪API

 在分析研究目标程序的内部调用机制时是非常有帮助的。在这里所指的API,不仅包括狭义上的Windows系统函数,还包括广义上第三方(及自身)提供DLL的输出函数。如果从跟踪监视的需求来讲,跟踪监视的API就不仅仅包括广义的API,更希望包括EXE和DLL中的内部未导出的函数。 对某一目标程序进行API函数的跟踪监视分析时,一般来讲是没有源代码和调试版本,更多的情况是只有EXE和DLL的

2008-07-22 09:35:00 727

转载 定制调试诊断工具和实用程序 — 摆脱 DLL“地狱”

本文假设你熟悉 Win32,DLL摘要  在 Windows 系统中,动态库版本冲突实在是一个老大难的问题了,为了解决这个问题,除了使用大量现有的工具外,你还可以利用丰富的 Windows APIs 函数构造自己的调试工具和实用程序。作为例子,本文将提供三个这种类型的工具,讨论如何利用它们来解决动态库的冲突问题。这三个工具分别是: DllSpy——列出加载到系统中的所有 Dlls 以及所有

2008-07-21 17:47:00 2701

转载 win32 api拦截---------hips核心技术

 拦截win32 API 调用对于多数windows开发人员来说都一直是很有挑战性的课题。钩子机制就是用一种底层技术控制特定代码段的执行,它同时提供了一种直观的方法,很容易就能改变操作系统的行为,而并不需要涉及到代码。这跟一些第三方产品类似。    许多系统都通过拦截技术(spying techniques)利用现有windows应用程序。而拦截的一个重要目的,并不只是为应用程序提供更高级功能,而

2008-07-21 17:39:00 697

转载 瑞星2008主动防御体系分析

 http://netroc682.spaces.live.com/一、             基本原理和基本技术1、 Rising 2008本身对产品的描述:瑞星杀毒软件2008中采用的主动防御技术包含三个层次,资源访问规则控制;资源访问扫描;程序活动行为分析引擎,其中尤其以行为分析引擎技术最为关键。 第一层:资源访问控制层(即HIPS)     它通过对系统资

2008-07-21 17:14:00 946

转载 Windows内核分析之一 —— 内核入口函数

 前段时间和yuewang和一块三毛钱商量着写写Windows分析的文章,我来开个头吧,哈哈。既然是开头,所以就选择了内核入口点开始,我向来不怎么会写文章,也就当流水账记记吧,看能不能引出他们更好的分析出来J Ntoskrnl的入口点函数名是KiSystemStartup,这是bootloader执行了一些基本的初始化之后跳转到的内核入口函数,用汇编语言实现。一、KiSystemStart

2008-07-21 17:08:00 1988

转载 进程中dll模块的隐藏

 http://netroc682.spaces.live.com/        为了避免自己的某个dll模块被别人检测出来,有时候希望在自己加载一个dll之后,或者将dll注入到他人进程之后避免被检查出来。这就需要想办法抹掉这个dll的模块信息,使得Toolhelp、psapi等枚举模块的API无法枚举它。        我们可以先简单看看Windows枚举进程内模块的办法吧:  

2008-07-21 17:06:00 1500

转载 另一种读写进程内存空间的方法

 http://netroc682.spaces.live.com/ 丢一个比较难防的读写其他进程内存空间的方法出来,嘿嘿。貌似我还没想到什么好办法可以防住的。 内存空间不能跨进程访问的原因主要在于不同进程都有自己的页目录和页表。进程切换的很大一块也就是切换掉页目录。 Windows自己的ReadProcessMemory最终也是通过KeStackAttachProcess附加到目标进

2008-07-21 17:02:00 1818

转载 写个自己的调试器

       对于写了一段时间的程序员来说,了解一些debugger的实质无疑对于技术的提高是有很大帮助的。而debugging自身也是一门非常细节化,比较复杂的技术。好的Debug工具如SoftICE,也是技术稍深一些的程序员必备的技术之一。这篇随笔并不会去讨论Debug技术的实质,而只是利用Platform SDK和最新的DbgHelp.dll提供的API作为引擎写一个自己的debugge

2008-07-21 16:58:00 806

转载 演示如何dump指定文件的符号信息

    前面讲了一些关于符号信息的小常识。今天正好有点空,整理了一段代码,贴上来供大家作例子。代码是完整的,建个新工程加入它即可。但是要注意也许你的环境不支持这些代码,没关系,看看偶的上一篇文章,获得最新的debugging tools for windows即可。闲话少说,例子代码如下。//===================================================

2008-07-21 16:57:00 868

转载 显示EXE,DLL或PDB文件中指定函数的Parameter和local variables信息

  上次写了列出EXE,DLL或PDB文件中的符号信息,这次再贴一段代码。举例说明如何列举一指定函数的局部信息,即函数的参数和局部变量信息。呵呵,本人即不爱说废话,又怕打字太累。^_^,开门见山,来看下面代码吧。Enjoy! //============================================================================// LF

2008-07-21 16:51:00 745

转载 开发自定义绘图控件

在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 — 在功能和外观两方面。例如,我们假定您正在创建一个类似于计速表的控件。由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的代码,进行绘制,默认终端用户的交互,以及控件与其父窗口之间需要的任意消息处理。   

2008-07-17 17:52:00 767

转载 CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别

MFC(VC6.0)的CWnd及其子类中,有如下三个函数:    // From VS Install PathVC98MFCIncludeAFXWIN.H    class CWnd : public CCmdTarget    ...{        ...    public:        ...        virtual BOOL PreCreateWindow(CR

2008-07-17 15:12:00 845

原创 CORBA技术探索起步

 一、概述CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management Group)提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。 CORBA经过近十多年的发展,已逐步

2008-07-16 11:23:00 656

转载 谈谈父窗口和所有者窗口

 一、概念和区别     在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。    所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为

2008-07-15 14:17:00 453

转载 使用dbghelp获取调用堆栈--release下的调试方法学

使用dbghelp获取调用堆栈--release下的调试方法学 Author : Kevin Lynx当软件作为release模式被发布给用户时,当程序崩溃时我们很难去查找原因。常见的手法是输出LOG文件,根据LOG文件分析程序崩溃时的运行情况。我们可以通过SEH来捕获程序错误,然后输出一些有用的信息作为我们分析错误的资料。一般我们需要输出的信息包括:系统信息、CPU寄存器信息、堆栈信

2008-07-14 10:15:00 1123

转载 Linux存储管理

Linux存储管理  Linux操作系统采用了请求式分页虚拟存储管理方法。 系统为每个进程提供了4GB的虚拟内存空间。各个进程的虚拟内存彼此独立。§4.1  进程虚存空间的管理一.内核空间和用户空间l         进程运行时能访问的存储空间只是它的虚拟内存空间。对当前该进程而言只有属于它的虚拟内存是可见的。l         在进程的虚拟内存包含着进程本身的程序代码

2008-07-10 18:33:00 1339

原创 Windows内存管理

      内存管理对于编写出高效率的Windows程序是非常重要的,这是因为Windows是多任务系统,它的内存管理和单任务的DOS相比有很大的差异。DOS是单任务操作系统,应用程序分配到内存后,如果它不主动释放,系统是不会对它作任何改变的;但Windows却不然,它在同一时刻可能有多个应用程序共享内存,有时为了使某个任务更好地执行,Windows系统可能会对其它任务分配的内存进行移动,甚至

2008-07-10 12:57:00 632

转载 内部类的用途

最近在项目的代码里看到使用内部类,不是很理解用途,这是从网上搜来的,感觉说的很清楚。内部类在自己的程序中很少用,主要用途是:1、避免同名问题。比如说链表节点的类型我们起名Node,二叉树节点的类型我们也可能起名Node,如果把它们放在外面就会出现同名冲突,但是分别在链表类和二叉树类内部就不会有问题。2、隐藏细节,封装的需要。有些类型只需要在一个类内部使用,没有必要对外公开,没有必要让用

2008-07-03 10:32:00 716

转载 Window消息映射的实现

消息映射的实现 Windows消息概述 Windows应用程序的输入由Windows系统以消息的形式发送给应用程序的窗口。这些窗口通过窗口过程来接收和处理消息,然后把控制返还给Windows。     消息的分类         队列消息和非队列消息  

2008-06-26 14:46:00 1647

转载 window钩子函数

近段时间因朋友催促让试着写一个监控系统,主要是用来管理孩子使用电脑,帮助孩子合理使用电脑。在网上查询了相关内容发现没有这方面的资料,所以只有自已来试试,要用到钩子来对windows应用程序进行监控,也就是只要运行应用程序就自动进行检查进程,是否符合规定。现将钩子的一些资料存到此处,方便以后使用!Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是

2008-06-26 14:28:00 725

转载 Debug和Release之本质区别(VC++ MFC)

Debug和Release之本质区别(VC++ MFC) -------------------------------------- 本文主要包含如下内容: 1. Debug 和 Release 编译方式的本质区别 2. 哪些情况下 Release 版会出错 3. 怎样“调试” Release 版的程序 -------------------------------------- 关于Debug

2008-06-23 15:04:00 723

原创 MFC界面编程初体会

最近的一个项目要修改公司原来的应用程序的界面,原来的应用是用MFC写的,所有的控件和窗口基本上都是基于Windows默认的风格,凹凸有致的,现在的需求就是要让界面漂亮,变成所谓的XP风格。由于应用程序所应用的领域和背景,我们没有去使用第三方的库去换肤,所以我不得不花功夫去学习MFC界面编程的知识。一段时间里都是和窗口和控件打交道,也增长了不少知识,其实用MFC做界面真是很难为人的,曾经为了改变窗口

2008-06-19 12:19:00 3660

转载 Shell脚本 学习

shell中四则运算Description: 在 shell 中的四则运算必须使用 expr 这个指令来辅助。因为这是一个指令,所以如果要将结果指定给变量,必须使用 ` 包起来。请注意,在 + - * / 的二边都有空白,如果没有空白将产生错误:$ expr 5 -23$ sum=`expr 5 + 10`$ echo $sum15$ sum=`expr $

2008-06-18 10:17:00 997

转载 MFC Object和Windows Object的关系

您查询的关键词是:gdi对象 删除  。如果打开速度慢,可以尝试快速版;如果想保存快照,可以添加到搜藏。

2008-06-13 17:19:00 2456 1

原创 自画 SCROLLBAR

自画   SCROLLBAR,   而且是自己建的SCROLLBAR,而不是CWND内建的SCROLLBAR.         First   you   have   to   instantiate   a   couple   of   CScroll   bars   in   your   main   frame:         class   CMainFrame   :   pu

2008-06-10 12:45:00 1060

转载 透明窗口

#define WS_EX_LAYERED           0x00080000#define LWA_COLORKEY            0x00000001#define LWA_ALPHA               0x00000002typedef BOOL (*_SetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);_S

2008-06-03 18:05:00 459

转载 windows通用控件

WIN95相对于WIN3X有几个加强的用户界面控件。其实在WIN95正式发行前这些控件就在使用,譬如:状态条、工具条等。以前程序员要自己去编程使用它们,现在微软已经把它们包含到了WIN9X和WINNT中了。 Toolbar ---工具条 Tooltip ---提示文本 Status bar ---状态条 Property sheet ---属性页

2008-06-02 16:14:00 2691

转载 SDK封装的一个无边框窗口

//FagexCEGuiW32.h ---------------------------------------#ifndef __Fagex_CEGui_W32_H__#define __Fagex_CEGui_W32_H__#ifndef WIN32_LEAN_AND_MEAN    #define WIN32_LEAN_AND_MEAN    #include windows.

2008-05-28 15:42:00 2824 1

转载 MFC中PretranslateMessage的实现

在MFC里面,Pretranslatemessage是一个很重要的虚函数。这个函数的作用这里就不谈了,很多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便不得不谈到MFC消息循环的实现。MFC通过CWinApp类中的Pumpmessage函数实现消息循环,但是实际的消息循环代码位于CWinThread中,CWinApp只是从CWinThread继承过来。

2008-05-23 13:01:00 471

转载 透明位图

摘要这篇文章讨论了在 Microsoft Windows 图形环境中用位图达到透明和屏蔽效果的几种方法,包括通过仿真和使用特殊的驱动器功能。包含其中的一个小样本应用程序 TRANSBLT 详细阐明了这篇文章讨论的大多数方法。介绍使用透明(TRANSPARENT)背景模式(用SetBrMode函数设置),一个应用程序就可以用透明文本,透明风格的线条和透明形状的刷子。令人悲伤的是,Micr

2008-05-14 17:13:00 912

Linux驱动开发

Linux驱动开发,word版

2008-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除