«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

本站技术贴除标明为“原创”的之外,其余均为网上转载,文中我会尽量保留原作者姓名,若有侵权请与我联系,我将第一时间做出修改。谢谢!

             ——既瑜


天气预报(南京)


我的分类(专题)

首页(183)
【趣味文摘】(22)
【五子连珠】(13)
【技术文档】(136)
【电脑技术】(6)
【疑难问题】(1)
【我的心情】(5)


最新日志
花语(中英文对照版)
各种花的花语
NTFS格式的7个精彩问答(pconli
童言无忌,有趣得一蹋
给MM修电脑的三个步骤[转载]
J2EE 面试题综合
JAVA编程规则
[转] P2P之UDP穿透NAT的原理与
[转]词法分析器
文件加密技术
一个让人发狂的PI求解C程序
[转]直线生成算法之DDA
[转]利用内核对象----互斥量实现应用
[转]如何正确的计算文件收发进度
双机调试VC程序
[转]分治法优化大整数乘法 C++实现
浮点数值的内存结构
[转]双链表实现大整数的加法与乘法[VC
拜占廷将军问题[转]
某人的挂QQ的程序源代码,虽然没用了,拿

最新回复
回复:vc中的CString的操作
回复:[转]分治法优化大整数乘法 C++
回复:[转]分治法优化大整数乘法 C++
回复:花语(中英文对照版)
回复:基本排序算法比较与选择[转载]
回复:c++中强制类型转换操作符小结
回复:c++中强制类型转换操作符小结
何必那么执着于是大头猫还是愤怒的小鸟,淡
回复:浮点数值的内存结构
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:32位位图到24位位图的转换
dren, ages 16 and 20
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:花语(中英文对照版)
回复:各种花的花语

留言板
签写新留言

不是0-1背包喔
桂花的花语``
谢谢
提议
提议

统计
blog名称:★既瑜★
日志总数:183
评论数量:636
留言数量:-25
访问次数:1406294
建立时间:2005年3月12日

链接


http://www.nju.edu.cn
http://bbs.nju.edu.cn 
http://www.t7-online.com
http://www.csdn.net
http://www.91f.net
http://www.crsky.com
我的MSN BLOG 

联系我

  OICQ:215768265
  njucs2001@hotmail.com
  erichoo1982@gmail.com

 

W3CHINA Blog首页    管理页面    写新日志    退出


[【技术文档】]基本排序算法比较与选择[转载]
既瑜(224499) 发表于 2005/3/20 0:05:11

基本排序算法比较与选择

阅读全文(26616) | 回复(13) | 编辑 | 精华 | 删除

[【技术文档】]对重要代码的防破解[转载]
既瑜(224499) 发表于 2005/3/20 0:05:00

 重要代码防破解.rar 开发环境:vc6.0+win2000Professional
工具:UEDIT32,w32Dasm(黄金版) 本例将演示对一个MessageBox的保护,采用了“花指令”、“对代码段动态修改”、“动态生成代码”。通过这种手法可阻拦较大一部分破解者(当然这种方法跟复杂的加密、加壳、反跟踪的软件来说,这对破解高手可能只是小菜一碟!)。如果只是小型软件,那么我们花一点小手段阻拦一部分破解者,那何乐而不为呢?

阅读全文(2591) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]1000的阶乘的处理[转载]
既瑜(224499) 发表于 2005/3/20 0:03:16

代码:BigDate.rar 上次一位兄弟向我提出了1000的阶乘如何求得。其实这里的难点就在于结果如何保存,以及一个数值如何 与很大的数值相乘。   实现原理: 处理的方法可能有很多种,我下面便是一种平时用笔做乘法的做法。大家先看看这个图:
在程序中我定义一个足够大的unsigned int数组,然后数组中的每一个单元存放0-999,99
阅读全文(3015) | 回复(-3) | 编辑 | 精华 | 删除

[【技术文档】]4种启动其它程序的方法[转载]
既瑜(224499) 发表于 2005/3/20 0:01:22

有时我们的程序需要启动其它程序,可能是为了利用它已有的功能,也可能是为了达到某种需要。那么怎样来启动我们需要的程序呢?
我暂时知道有4种方法:
1、调用API: int system( const char *command );
  你可以传入一命令,启动某个程序。如"ping www.vccode.com", "YourExe"等等
  不过这里有几点要值得注意:
  (1)、他不会立即返回,直到你启动的程序执行完成。
  (2)、如果你启动是windows程序,它仍然会启动一个控制台,这就给人感觉太差劲了,但如果本身是控制台的,而且又需要等待它的完成,那这将是比较好的选择。
  (3)、它的返回值代表是否执行成功以及程序的退出码。 2、调用API:
  UINT WinExec(
   LPCSTR
阅读全文(1908) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]内存操作越界略述
既瑜(224499) 发表于 2005/3/20 0:00:50

不知大家遇到过没有,有时候程序莫名其妙地出现众多问题,但经常调试来调试去,都不知原因所在,我曾经就被这类问题害得很惨,大部分都是内存操作越界引起的。现在就我知道的总结如下,我将其分为两类:一类是无明显表现的,只会给程序运行带来其妙的错误(1、2、3),一类调试时有明显表现(4、5)。 1、字符串数组定义长度忘记加+1(结束符) 如: char str[10];   ::strcpy(str, "0123456789");   此时将会造成越界,因为strcpy将在str为起始地址的第11个单元写入’0’,这样它将覆盖这个单元的值,对于程序来说,有可能带来灾难性的后果。
  但,如果你仅仅作字符串操作,一个一个地存入,此时将不会越界,或者你使用strncpy(str, "0123456789", 10),它也不会越界。不过你得小心,此时将不能使用如:strlen,strcpy等等,它的长度和内容变得完全不确定,如果从str地址起的单元都不为‘’,那么将全看作为它的内容,此时
阅读全文(8114) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]对类成员进行特殊操作(3)
既瑜(224499) 发表于 2005/3/20 0:00:21

以下在win2000, vc6中编译通过
    介于发现在很多地方Thunk技术比较有用,是实现某些要求的最好途径(如:一个类需要设定时钟,在时钟回调函数里又要调用类的众多方法和属性,并且这个类可能出现众多实例)。

    在文章1和文章2中其实都作了较详细的解说,但可能解说不当,很难理解,所以在此专做了一个类(CTempBoard),演示这个类以自已的成员函数作回调函数,并且几个实例同时存在。

    如果你只是想用这种方法,那你只要保持原码中CTempBoard类的
阅读全文(1888) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]对类成员进行特殊操作(2)
既瑜(224499) 发表于 2005/3/19 23:59:28

大家在看了文章1后以经对取得虚函数地址有所了解,但用它作回调函数还是有一点问题,因为要使成员函数正确运行,我们必须每次在调用这前传一个this给ecx(对应的成员函数中没有操作类成员除外,原因见(文章1)),作为回调函数,它可不给你这个机会,那怎么实现呢? 下面就是一种实现方法: 我们可以在数据段中开一个数组,在这个数组里存放一些特殊的数据,然后将这个数组的地址作为回调函数的地址,然后这个数组将被作为代码运行。那么这个数组对应的代码又做些什么呢?很简单的:将对象的地址传入ecx, 然后jmp到真正的回调函数。 下面是个例子: 主要部分也就是ThunkInit(ThunkData t, void *This, int VirFucID); 传入一个数组指针,一个对象的指针,一个对应第几个虚函数。然后这个函数将生成对应的可执行代码:将对象的地址传入ecx, 最
阅读全文(1954) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]对类成员进行特殊操作(1)
既瑜(224499) 发表于 2005/3/19 23:58:36

以下在win2000, vc6中编译通过 大家有没有想到过用一个成员函数做回调函数呢?是不是老是编译通不过呢?那么下面将会给你一个答案。 在大家的印象中,访问类成员及函数,是不是object.XX或object.XX(); 其实在c/c++这种中级语言完全可以不守这个规矩。你其甚至可以存取类中的私有成员。不相信吗?大家看看这个例子: 例1:class CAA { public:      CAA() {m_data1=50; m_data2=100;}      ~CAA() {};      void print() { ::printf("%d, %dn", m_data1, m_data2); } private:      int m_data1;      int m_data2; };
阅读全文(2044) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]消息与消息队列
既瑜(224499) 发表于 2005/3/19 23:57:37

About Messages and Message Queues
基于windows的应用程序是事件驱动的。它们不进行明确的函数调用(比如调用C运行库)来获得输入。取而代之的是他们等待操作系统将输入传递给他们。
操作系统传递所有的输入给各种应用程序。每个window有一个函数叫做窗口过程,只要有输入操作系统就调用他们。窗口过程处理输入后,将控制返回给操作系统。详细资料请看窗口过程。 Microsoft? Windows? XP:如果最顶层(top-level)的窗口停止响应几秒钟,系统将认为窗口被挂起。这种情况下,系统将隐藏这个窗口并用一个ghost window在相同z坐标上,相同的大小,相同的可视属性来取代他。以允许用户移动窗口,改变窗口大小,关闭窗口。然而,仅有这些行为是可操作的因为应用程序已挂起。在Debugger模式下,系统不产生ghost窗口。 This section discusses the following topics:
· Windows Messages
· Message Types
阅读全文(2054) | 回复(0) | 编辑 | 精华 | 删除

[【技术文档】]利用CRC-32检测程序的完整性
既瑜(224499) 发表于 2005/3/19 23:55:52

CRC-32算法原作者:胡春松

由于原算法是嵌在一个对话框类中,使用不尽方便,所以我将其提出,封装成一个CCrc32类,使用时只需定义一个对象,再调用int GetCRC(LPCTSTR csData, DWORD dwSize);便可得到结果。 或许你对CRC-32不是很了解,也不知有何用处,那看看下面: 以下摘自:http://www.luocong.com/articles/show_article.asp?Article_ID=15
作者:老罗CRC是什么东西呢?其实我们大家都不应该会对它陌生,回忆一下?你用过RAR和ZIP等压缩软件吗?它们是不是常常会给你一个恼人的“CRC校验错误”信息呢?我想你应该明白了吧,CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”,“CRC校验”就是“循环冗余校验”。
阅读全文(3284) | 回复(1) | 编辑 | 精华 | 删除

« 11 12 13 14 15 16 17 18 19 »

站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.079 second(s), page refreshed 144764677 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号