Welcome 微信登录

首页 / 软件开发 / C++

TCP/IP学习笔记补遗

TCP/IP学习笔记补遗

TCP/IP学习笔记补遗2010-04-03肖进经过我对网络上IP数据包的跟踪,对我写的《TCP/IP学习笔记》进行补充。通过本文,可以加深对TCP/IP的认识。●网络环境:ADSL宽带●IP数据包内容:通过Outlook发送邮件,帐号是xiaojin8039@163.com,给我的其他邮箱xiaoj@njb.swirebev.com发送邮件,系统从而捕获的IP包。●所有IP包均为TCP协议1、关于IP包的分片情况:所有的IP包均不分片,也就是IP包传输过...
C/C++程序的内存分配方式

C/C++程序的内存分配方式

C/C++程序的内存分配方式2011-04-281.内存分配方式内存分配方式有三种:[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个 运行期间都存在。例如全局变量,static变量。[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执 行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高, 但是分配的内存容量有限。[3]从堆上分配,亦称动态内存分配。程序在运行的时候用ma...
在VC中使用智能指针操作Excel

在VC中使用智能指针操作Excel

在VC中使用智能指针操作Excel2010-04-03最近的一个工程中,需要将数据导入Excel表格中,项目经理知道我以前没有接触过操作Excel的经验,于是给了一段小程序给我,让我参考着做。这段程序是使用智能指针操作Excel,在网络上找了一个星期,居然没有一片关于智能指针操作Excel的文章,只有Automation技术,而且所有介绍Automation技术的文章都是大同小异,并且代码多,说明少。没有任何帮助,光有一堆代码,对于理解和使用没有太大的帮助...
用VC进行屏幕截取编程

用VC进行屏幕截取编程

用VC进行屏幕截取编程2010-04-03潘小龙 顾时明屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用.下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中.HBITMAP CopyScreenToBitmap(L...
用vc设计系统援救程序

用vc设计系统援救程序

用vc设计系统援救程序2010-04-03一.引言Windows的system.dat和user.dat中存储着windows注册表,win.ini和system.ini中也存储着一些重要的初始化信息,对它们进行备份可以避免一些重装系统之类的繁琐.虽然windos自带一些备份和恢复系统信息的功能,但是使用起来很不方便.经过一些研究,我发现你完全可以非常容易地设计出自己的系统援救程序.二.关键问题分析1.在程序中调用系统现有的程序.使用WinExec(),S...
在VC++中用回车键切换输入焦点

在VC++中用回车键切换输入焦点

在VC++中用回车键切换输入焦点2010-04-03Windows程序中Tab键是默认的切换输入焦点的按键,但用回车键切换输入焦点更符合人们的输入习惯。Delphi、VB中这个问题比较容易解决,VC++中却很少有资料提到。通过反复尝试,我找到了一种方法,或许对大家有所帮助。1.VC++中appwizard生成一个基于对话框的程序。切换resourseview状态,在对话框中插入一个编辑框,同时修改其styles属性,选中multiline 、want re...
在Windows应用程序中实现电子注册功能

在Windows应用程序中实现电子注册功能

在Windows应用程序中实现电子注册功能2010-04-03目前,国内软件销售过程中采用了一种新的方式:开发者根据计算机中不同的硬件配置标志直接在应用程序中设置密钥,限制程序的使用次数或者限制某些先进功能的使用,然后将受限制的应用程序无偿提供给用户。用户在试用一段时间之后如果觉得很满意,就可以将安装程序提取的硬件配置解密密钥或已经采集机器配置情况的应用程序提供给开发者,并花少量费用购买自己机器中的电子注册密钥,从而能够充分利用应用程序的所有功能。在应用程...
C++中通过模板向函数传递数组长度

C++中通过模板向函数传递数组长度

C++中通过模板向函数传递数组长度2011-04-28我们知道,在C/C++中,向一个函数传递数组时,实际上传送的是这个数组的首地址,也即是一个指针类型。所以,在函数中,我们没有办法知道这个传递进来的数组的长度到底为多长,一个普遍的方法就是再增加一个参数,来记录传递进来的数组的长度。不过在C++中,使用模板机制,可以很好地解决这个问题,如下面的代码所示:#include <iostream>using namespace std;templat...
C++中的全局namespace

C++中的全局namespace

C++中的全局namespace2011-04-28我们应该知道传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。namespace引入了复杂性,解决了这个问题。namespace允许像类,对象,函数聚集在一个名字下。本质上讲namespace是对全局作用域的细分。我想大家都见过这样的程序吧...
如何限制PC机上网

如何限制PC机上网

如何限制PC机上网2010-04-03yy2better限制上网 SPI 获取IE代理地址某些程序需要实现控制计算机上网的功能,譬如允许孩子星期六8:00-20:00可以上网,其他时间不能上网。经过研究,用户态下实现这个功能大致有以下几种方法(以下讨论基于windows各平台):1、使用windows Hook,监视IE或其他浏览器的地址栏,发现有www或http字样的,则更改这些url,使之不能访问相应的url。这种方法实现可能相对容易,但是不准确,不能...
C++中单例模式对象的释放控制分析

C++中单例模式对象的释放控制分析

C++中单例模式对象的释放控制分析2011-04-28单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该...
浅析三线程程序开发思路与实现

浅析三线程程序开发思路与实现

浅析三线程程序开发思路与实现2010-05-12 Vckbase.com TOo2y一、前言中国黑客(worm.runouce)病毒在国内出现以后,各大反病毒公司都对其进行了“仔细”的分析,得出一个结论:“中国黑客”发现了全球首创的“三线程”结构。这是某公司对外的宣传词,我个人对病毒没什么研究,并且我对worm.runouce没有任何的个人看法,不过我可以确信的是很多反病毒公司往往在夸...
C++中按值返回和返回值优化代码

C++中按值返回和返回值优化代码

C++中按值返回和返回值优化代码2011-04-28 csdn博客 SeeSeaBeeC++和C语言相比,最为人诟病的就是其性能问题,通常一条C语言经编译器解释后,可以固定转换成5—10条汇编语言,但是一条C++语言,就没有这么幸运了,可能会是3条汇编语言,也可能是300条。C++影响性能的原因很多,其中一个就是临时对象的创建和销毁。这里我简述一种减少创建临时对象的方法--返回值优化问题很多时候,函数需要按值返回,这其中就会不可避免地涉及到临时...
C++语言设计可扩展线程池

C++语言设计可扩展线程池

C++语言设计可扩展线程池2011-04-28在各种业务解决方案的设计过程中,服务器处理任务的效率往往决定了方案的成败。多线程处理任务是提高服务器效率的主要手段,它提高了对服务器资源的利用,使得任务可以并发处理。但如果服务器处理的任务的特点是轻量级、频率高,那么线程的创建与销毁会非常频繁,而系统用于处理线程的创建与销毁的开销会占相当大的比重,反而降低了系统的效率。通过线程池技术,可以减少频繁的线程的创建与销毁对系统性能的影响。线程池是预先创建线程的一种技术...
浅析Windows2000/XP服务与后门技术

浅析Windows2000/XP服务与后门技术

浅析Windows2000/XP服务与后门技术2010-05-12 vckbase TOo2y一、序言Windows下的服务程序都遵循服务控制管理器(SCM)的接口标准,它们会在登录系统时自动运行,甚至在没有用户登录系统的情况下也会正常执行,类似与UNIX系统中的守护进程(daemon)。它们大多是控制台程序,不过也有少数的GUI程序。本文所涉及到的服务程序仅限于Windows2000/XP系统中的一般服务程序,不包含Windows9X。二、Windows...
<< 241 242 243 244 245 246 247 248 249 250 >>