«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
My blog is about my major : network security.the most papers are talk about it ,I like my major ,i wish you could find what's you need in it.

我的分类(专题)

首页(78)
others(4)
HTML+CSS+JS(2)
汇编(1)
music(0)
art(0)
linux(29)
php(1)
math(0)
network security(1)
idea(0)
企业管理与营销(4)
life(10)
link(0)
软件工程理论(2)
C/C++(14)
algorithm(1)


最新日志
何谓数据结构
陈老师的BLOG
iptables 规则的保存
compatible , enhance
重装windows后,修复Fedora的
著名的SQL注入攻击法 (转)
PE病毒技术剖析[转载]
auto register stat
调节WINDOWS为保护眼睛的颜色!
类似深构造函数的运算符‘=’重载用法

最新回复
直接给他这个时间做什么就行
回复:三国典故集锦
回复:《如何控制自己的时间和生活 》精彩
回复:扫描方法详细
回复:心态决定一切
回复:心态决定一切
回复:男人100
回复:信息熵(定义,性质,热力学熵)
回复:《如何控制自己的时间和生活 》精彩
回复:编写类string的构造函数、拷贝

留言板
签写新留言


统计
blog名称:我的IT人生
日志总数:78
评论数量:185
留言数量:-1
访问次数:525631
建立时间:2006年4月5日

链接




本站首页    管理页面    写新日志    退出

[C/C++]SDK简介
zc9706 发表于 2008/4/6 10:21:48

    SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。     其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。     首先要接触的是“API”,也就是 Application Programmi

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

[algorithm]死锁
zc9706 发表于 2008/4/5 10:11:32

一,产生死锁必要条件
1,互斥
2,请求和保持
3,不剥夺
4,环路等待 二,死锁预防(排除必要条件中的一个)
1,排除请求和保持
 一次性申请所有的需要的资源,即一次请求。
 缺点:资源独占,利用率低。
2,排除不剥夺
 当二次请求得不到满足时,释放已经占用的资源。
 缺点:增加了系统开销,降低了吞吐率。
3,排除环路等待
 为所有的资源进行线形排队,并赋予不同的序号,所有进程对资源的访问必须严格 按照资源序号递增的次序提出。 三,死锁避免
 银行家算法
四,死锁解除
 按照树的顺序从树根开始,对各子进程的资源剥夺以解除死锁的开销进行评估,不 断

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

[C/C++]银行家算法
zc9706 发表于 2008/4/5 9:55:43

转自:http://dev.csdn.net/article/52/52226.shtm 特别申明:转载一位大哥的程序
一.算法介绍:
**数据结构:
1.可利用资源向量Available
2.最大需求矩阵Max
3.分配矩阵Allocation
4.需求矩阵Need
  **功能介绍:
模拟实现Dijkstra的银行家算法以避免死锁的出现.分两部分组成:
第一部分:银行家算法(扫描)
1.如果Request<=Need,则转向2;否则,出错
2.如果Request<=Available,则转向3,否则等待
3.系统试探分配请求的资源给进程
4.系统执行安全性算法
第二部分:安全性算法
1.设置两个向量
(1).工作向量:Work=Availabl
阅读全文(2048) | 回复(0) | 编辑 | 精华 | 删除

[C/C++]关于printf的另类用法
zc9706 发表于 2008/4/4 21:12:56

main()
{
 char a[]="a";
 char b='b';
 int c=0x12ff7c;
 printf("%x\n",a);  //输出  12ff7c
 printf("%c\n",a);  //输出  |
 printf("%d\n",b);  //输出  98
 printf("%c\n",b);  //输出  b
 printf("%c\n",c);  //输出  |
 printf("%x\n","wefd"); //输出  ?
 printf("%c\n","dfdfd"); //输出  ?
 printf("%c\n","fd");    //输出  ?
 printf("%c\n","jk
阅读全文(1880) | 回复(0) | 编辑 | 精华 | 删除

[life]祝贺MY BLOG访问量达到88888次!
zc9706 发表于 2008/3/31 22:17:10

blog名称:我的IT人生
日志总数:64
评论数量:55
留言数量:0
访问次数:88888
建立时间:2006年4月5日
阅读全文(2127) | 回复(1) | 编辑 | 精华 | 删除

[C/C++]如何用栈实现递归与非递归的转换(2)(转 GOOD)
zc9706 发表于 2008/3/31 22:03:18


三.三个例子
好了上面的理论知识已经足够了,下面让我们看看几个例子,结合例子加深我们对问题的认识
.即使上面的理论你没有完全明白,不要气馁,对事物的认识总是曲折的,多看多想你一定可以明
白(事实上我也是花了两个星期的时间才弄得比较明白得). 1)例子一: f(n) =  n + 1;       (n <2) 
             f[n/2] + f[n/4](n >;= 2);
        这个例子相对简单一些,递归程序如下:
        int     f_recursive(int n)
     &n
阅读全文(1930) | 回复(0) | 编辑 | 精华 | 删除

[C/C++]如何用栈实现递归与非递归的转换(1)(转 GOOD)
zc9706 发表于 2008/3/31 21:31:09


如何用栈实现递归与非递归的转换 http://www.chinaunix.net 作者:converse 发表于:2006-08-24 09:00:06 原文:http://www.chinaunix.net/jh/23/331522.html
   http://blog.csdn.net/dragondwy/archive/2006/06/30/855391.aspx  http://liqunsun.spaces.live
阅读全文(1736) | 回复(0) | 编辑 | 精华 | 删除

[C/C++]谈VC++对象模型( Good 转)
zc9706 发表于 2008/3/28 19:41:36

一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容来看,译者认为本文是深入理解C++对象模型比较好的一个出发点。

  这篇文章以前看到时就觉得很好,旧文重读,感觉理解得更多一些了,于是产生了翻译出来,与大家共享的想法。虽然文章不长,但时间有限,又若干次在翻译时打盹睡着,拖拖拉拉用了小一个月。

  一方面因本人水平所限,另一方面因翻译时经常打盹,错误之处恐怕不少,欢迎大家批评指正。

  前言

   了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。首先,它可以去除我们对于所使用语言的神秘感,使我们不至于对于编译器干的 活感到完全不可思议;尤其重要的是,它使我们在Debug和使用语言高级特性的时候,有更多的把握。当需要提高代码效率的时候,这些知识也
阅读全文(1849) | 回复(0) | 编辑 | 精华 | 删除

[C/C++]编写类string的构造函数、拷贝构造函数和析构函数
zc9706 发表于 2008/3/27 19:03:28

 

阅读全文(13503) | 回复(2) | 编辑 | 精华 | 删除

[C/C++]C++内存分配问题
zc9706 发表于 2008/3/25 14:53:43

网上看到,感觉讲得很清晰,刚好能解答我上次的笔试题
char* r = "hello word!"; //指针在栈上,数据放在常量区;
char b[]="hello word!" //b在栈上,数据在栈上;
*r = 'w'; //修改常量区的值,报错;
*b='w'; //修改栈上的值,允许;

其实应该是语法错误,可是VC++6.0没有警告或者错误,r指向的是文字常量区,此区域是编译的时候确定的,并且程序结束的时候自动释放的, *r = 'w';企图修改文字常量区引起错误,b的区别在于其空间是在栈上分配的,因此没有错误。

const char* r = "hello word!"; //与上同;

*r = 'w'; //对常量进行赋值,报错;



一个由c/C++编译的程序占用的内存分为以下几个部分
1、
阅读全文(1877) | 回复(0) | 编辑 | 精华 | 删除

« 1 2 3 4 5 6 7 8 »
站点首页 | 联系我们 | 博客注册 | 博客登陆

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