1. C++创建一个接口类的方法: 通过纯虚基类实现接口。
C++中没有提供类似interface这样的关键 字来定义接口,但是Mircrosoft c++中提供了__declspec(novtable)来修饰一个类,来表示该类没有虚函数表,也就是虚函数都是纯虚的。所以利用它我们依然可以定义一 个接口。代码例子如下
http://xujingli88.blog.163.com/blog/static/41178619200962410122172/
还有另外一种方法:
http://qimo601.iteye.com/blog/1393427
2. linux中从后台启动进程应该在命令行的末尾加 &
实际上,这样是将命令放入到一个作业队列中了。 具体请参看:
http://duqiangatom.blog.163.com/blog/static/11502518201162952658497/
3. 建立安全的终端连接 用 ssh 代替 telnet 。
http://www.bitscn.com/network/cisco/200606/28193.html
http://tech.ddvip.com/2008-11/122776532395482.html
SSH: http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
TELNET:
WEP: WEP--Wired Equivalent Privacy加密技术,WEP安全技术源自于名为RC4的RSA数据加密技术,以满足用户更高层次的网络安全需求
4. man in the middle attack 中间人攻击、
下面这篇文章讲的很好~~
http://www.aqee.net/man-in-the-middle-attack/
5. 几种常见病毒:
worm,一般解释为蠕虫。一般认为蠕虫是一种通过网络传播的主动攻击的恶性计算机病毒,是计算机病毒的子类。
1988年“Morris”蠕虫爆发后,Spafford为了区分蠕虫和病毒,对病毒重新进行了定义,他认为:“计算机病毒是一段代码,能把
自身加到其他程序包括操作系统上;它不能独立运行,需要由它的宿主程序运行来激活它
网络蠕虫强调自身的主动性和独立性。
Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的。
百度百科: http://baike.baidu.com/link?url=Y79fSbI7EESWaFipKKAYyy6CF4rsDCNfVWnhTLtsEiK7FeGl0ib2ELcCSTZWr67R 写的灰常有意思
Exploit 的英文意思就是利用,它在黑客眼里就是漏洞利用。有漏洞不一定就有Exploit(利用)。有Exploit就肯定有漏洞。
Scareware,假杀毒软件,中文名叫假冒安全软件,意指伪装成杀毒软件的恶意软件,被选为本周病毒之最。
6.
现有一个工程里面有
number.cpp
int number[5] = {1, 2, 3, 4, 5};
main.cpp
#include<iostream>
using namespace std;
extern int *number;
int main()
{
cout<<"&number[1]="<<&number[1]<<endl; //0x00000005
// cout<<"number[0]="<<number[0]<<endl;
return 0;
}
程序运行结果:
第一行cout 输出一个 地址 【这个地址并不是前面 number[1] 的真实地址,后面会说道】
第二行,运行有错误。
extern 使用变量的正确方式:
修改为=========================extern int number[5];
extern后面只是声明。。。。不是定义。。。number.cpp中对number的定义是数组,而 main.cpp中是 一个指针 而已。 所以,,,,这样用是不对的。
【ps: extern 后面的变量也必须是另一个cpp中的 全局变量! 局部变量不可以,静态局部变量也不可以!】
当改为 extern int number[5]; 后,
上述第一个cout输出的就是 number[1] 的地址了
第二个 cout 输出的就是 number[0] 的地址了
关于 extern 的使用, http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html
讲的很详细。
7. windows 终端请求级别(interrupt ReQuest level, IRQL)
http://blog.csdn.net/xxagri/article/details/5081515
#define PASSIVE_LEVEL 0
#define LOW_LEVEL 0
#define APC_LEVEL 1
#define DISPATCH_LEVEL 2
#define PROFILE_LEVEL 27
#define CLOCK1_LEVEL 28
#define CLOCK2_LEVEL 28
#define IPI_LEVEL 29
#define POWER_LEVEL 30
#define HIGH_LEVEL 31
8. Ipv6 地址格式
http://blog.sina.com.cn/s/blog_72a2ef140100pddx.html
总共 128 位, 每 16 位 一组,用 十六进制 表示。
有两种方法压缩:
① 前导零压缩法。 但每一段都至少有一个数字。
② 双冒号法。 如果几个连续的 分组(段)都是 零, 那么可以记为 :: 。但是每一个IP只能有一个 ::。
9 软件验收测试的合格通过准则是
1、软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
2、所有测试项没有残余的一级二级三级的错误。
3、立项审批表、需求分析文档、设计文档和编码实现一致。
4、验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)
10
7+9=16; 9+(-1)=8;(-1)+5=4;5+(-3)=2 , 16,8,4,2等比