可否帮忙分析一下这段程序?

dxsh 2003-08-22 07:10:15
各位我是c++菜鸟,虽然对概念有了解,但对一些具体的程序内部的执行还是不太理解,就像:
#include <iostream.h>
#include <math.h>
class Point
{public:
Point(int xx=0,int yy=0) {X=xx;Y=yy;}
Point(Point &p);
int GetX(){return X;}
int GetY(){return Y;}
private:
int X,Y;
};
Point::Point(Point &p)
{X=p.X;
Y=p.Y;
cout<<"Point拷贝构造函数被调用"<<endl;}

class Distance
{public:
Distance(Point xp1,Point xp2);
double GetDis(){return dist;}
private:
Point p1,p2;
double dist;};

Distance::Distance(Point xp1,Point xp2):p1(xp1),p2(xp2)
{cout<<"Distance构造函数被调用"<<endl;
double x=double(p1.GetX()-p2.GetX());
double y=double(p1.GetY()-p2.GetY());
dist=sqrt(x*x+y*y);
}

void main()
{Point myp1(1,1),myp2(4,5);
Distance myd(myp1,myp2);
cout<<"the Distance is:";
cout<<myd.GetDis()<<endl;
}

运行结果:
Point拷贝构造函数被调用
Point拷贝构造函数被调用
Point拷贝构造函数被调用
Point拷贝构造函数被调用
Distance构造函数被调用
the distance is:5

大家可以为我具体讲解一下吗?是如何执行?拷贝构造函数又为什么会调用四次呢?
谢谢!
...全文
33 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
uu2pro 2003-08-23
  • 打赏
  • 举报
回复
奇怪啊
Distance::Distance(Point xp1,Point xp2):p1(xp1),p2(xp2)
初始化列表一般是跟基类class名字的,
这里怎么跟的是成员对象的名字,而且也可以编译通过??
这是为什么?

请高手解释一下
好吗?
dxsh 2003-08-23
  • 打赏
  • 举报
回复
哦,是啊才刚学,概念还不牢固。
谢谢各位!
一起努力吧!
catface0511 2003-08-23
  • 打赏
  • 举报
回复
我是新人 看的懂 但是说不清楚
好象楼主的基本概念还是不太杂实
建议再看下书吧
这个急不来的有时候强行反而效果不好
入门的钱能那本书 我看了3遍


个人意见 祝早日进步!
summer6074 2003-08-23
  • 打赏
  • 举报
回复
楼上怎么不早几天贴啊?这个就是我们的考试题目啊!哎,错了一点点哦,最多只有80多了。。。。
fzx 2003-08-23
  • 打赏
  • 举报
回复
参数改成常量引用就好了,防止出错,效率高,又安全。
ppm07 2003-08-23
  • 打赏
  • 举报
回复
哦,我明白了。初始化成员列表原来调用的是拷贝构造函数来进行初始化的,看起来碰到这种情况还是不用它为好。
uu2pro 2003-08-23
  • 打赏
  • 举报
回复
to def1981(随机) (
继承类和包含对象是两码事
包含一般是
Distance::Distance(Point &xp1,Point &xp2) //改成引用
{
p1 = xp1; //不用初始化列表
p2 = xp2;
def1981 2003-08-23
  • 打赏
  • 举报
回复
distance 类里的成员有两个是point啊
class Distance
{
public:
Distance(Point &xp1,Point &xp2); //改成引用
double GetDis(){return dist;}
private:
Point p1,p2;
double dist;
};
所以在构造函数里要写到它们啊
楼上对类的构造函数的理解 只得其形 未得其意啊
RookieStar 2003-08-22
  • 打赏
  • 举报
回复
关键是这句 Distance(Point xp1,Point xp2):p1(xp1),p2(xp2);

在main()函数中,先产生了两个Point对象:Point myp1(1,1),myp2(4,5);
当调用 Distance myd(myp1,myp2);时,由于Distance用的是值传递,且传递的是Point对象myp1与myp2,所以在产生两个形参变量的时候,用的是Point的拷贝构造函数,这对应了输出中的第一第二行。

然后才真正意义上开始执行Distance的构造函数:初始化表中两句 p1(xp1)和p2(xp2),用的是Point的拷贝构造函数,这对应了输出中的第三第四行。

最后,执行Distance的函数体,也就对应了输出中的第五行。

楼主的基本概念还不够扎实,找本好书补一下吧!祝你早日进步!
ppm07 2003-08-22
  • 打赏
  • 举报
回复
我改了一下,
#include <iostream.h>
#include <math.h>
class Point
{
public:
Point(int xx=0,int yy=0) {X=xx;Y=yy;}
Point(Point &p);
int GetX(){return X;}
int GetY(){return Y;}
private:
int X,Y;
};
Point::Point(Point &p)
{
X=p.X;
Y=p.Y;
cout<<"Point拷贝构造函数被调用"<<endl;
}

class Distance
{
public:
Distance(Point &xp1,Point &xp2); //改成引用
double GetDis(){return dist;}
private:
Point p1,p2;
double dist;
};

Distance::Distance(Point &xp1,Point &xp2) //改成引用
{
p1 = xp1; //不用初始化列表
p2 = xp2;
cout<<"Distance构造函数被调用"<<endl;
double x=double(p1.GetX()-p2.GetX());
double y=double(p1.GetY()-p2.GetY());
dist=sqrt(x*x+y*y);
}

void main()
{
Point myp1(1,1),myp2(4,5);
Distance myd(myp1,myp2);
cout<<"the Distance is:";
cout<<myd.GetDis()<<endl;
}
结果是:
Distance构造函数被调用
the Distance is:5
Press any key to continue
但我也不明白,为什么Distance::Distance(Point &xp1,Point &xp2):p1(xp1),p2(xp2)。。。这个也会有Point的拷贝构造函数被调用,清高人解释一下。
zhang,qiuping 2003-08-22
  • 打赏
  • 举报
回复
Distance::Distance(Point xp1,Point xp2):p1(xp1),p2(xp2)
//关键之处在于这,xp1,xp2只是作为值参,以上把xp1,xp2付给p1,p2 这个过程需要
再次调用Point的拷贝构造函数
X-Scan-v3.1 使用说明一. 系统要求:Windows NT4/2000/XP/2003二. 功能简介: 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。对于多数已知漏洞,我们给出了相应的漏洞描述、解决方案及详细描述链接,其它漏洞资料正在进一步整理完善中,您也可以通过本站的“安全文摘”和“安全漏洞”栏目查阅相关说明。 3.0版本提供了简单的插件开发包,便于有编程基础的朋友自己编写或将其他调试通过的代码修改为X-Scan插件。另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友,可通过本站“X-Scan”项目链接获取详细资料:“http://www.xfocus.net/projects/X-Scan/index.html”。三. 所需文件: xscan_gui.exe -- X-Scan图形界面主程序 xscan.exe -- X-Scan命令行主程序 checkhost.exe -- 插件调度主程序 update.exe -- 在线升级主程序 *.dll -- 主程序所需动态链接库 使用说明.txt -- X-Scan使用说明 /dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换 /dat/language.* -- 多语言数据文件 /dat/config.ini -- 用户配置文件,用于保存待检测端口列表、CGI漏洞检测的相关设置及所有字典文件名称(含相对路径) /dat/config.bak -- 备份配置文件,用于恢复原始设置 /dat/cgi.lst -- CGI漏洞列表 /dat/iis_code.ini -- IIS编码漏洞列表 /dat/port.ini -- 用于保存已知端口的对应服务名称 /dat/*_user.dic -- 用户名字典文件,用于检测弱口令用户 /dat/*_pass.dic -- 密码字典,用于检测弱口令用户 /dat/p0f*.fp -- 识别远程主机操作系统所需的操作系统特征码配置文件(被动识别) /dat/nmap-os-fingerprints -- 识别远程主机操作系统所需的操作系统特征码配置文件(主动识别) /dat/wry.dll -- “IP-地理位置”地址查询数据库文件 /dat/*.nsl -- 经过整理的NASL脚本列表 /plugins -- 用于存放所有插件(后缀名为.xpn) /scripts -- 用于存放所有NASL脚本(后缀名为.nasl) /scripts/desc -- 用于存放所有NASL脚本多语言描述(后缀名为.desc) 注:xscan_gui.exe与xscan.exe共用所有插件及数据文件,但二者之间没有任何依赖关系,均可独立运行。四. 准备工作: X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动检查并安装WinPCap驱动程序)。五. 图形界面设置项说明: “基本设置”页: “指定IP范围” - 可以输入独立IP地址或域名,也可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-192.168.0.20,192.168.1.10-192.168.1.254”。 “从文件中获取主机列表” - 选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。 “报告文件” - 扫描结束后生成的报告文件名,保存在LOG目录下。 “报告文件类型” - 目前支持TXT和HTML两种格式 “扫描完成后自动生成并显示报告” - 如标题所述 “保存主机列表” - 选中该复选框后,扫描过程中检测到存活状态主机将自动记录到列表文件中。 “列表文件” - 用于保存主机列表的文件名,保存在LOG目录下。 “高级设置”页: “最大并发线程数量” - 扫描过程中最多可以启动的扫描线程数量 “最大并发主机数量” - 可以同时检测的主机数量。每扫描一个主机将启动一个CheckHost进程。 “显示详细进度” - 将在主界面普通信息栏中显示详细的扫描过程 “跳过没有响应的主机” - 如果X-Scan运行于NT4.0系统,只能通过ICMP Ping方式对目标主机进行检测,而在WIN2K以上版本的Windows系统下,若具备管理员权限则通过TCP Ping的方式进行存活性检测。 “跳过没有检测到开放端口的主机” - 若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。 “无条件扫描” - 如标题所述 “端口相关设置”页: “待检测端口” - 输入以“-”和“,”分隔的TCP端口范围 “检测方式” - 目前支持TCP完全连接和SYN半开扫描两种方式 “根据响应识别服务” - 根据端口返回的信息智能判断该端口对应的服务 “主动识别操作系统类型” - 端口扫描结束后采用NMAP的方法由TCP/IP堆栈指纹识别目标操作系统 “预设知名服务端口” - 如标题所述 “SNMP相关设置”页: 全部如标题所述 “NETBIOS相关设置”页: 全部如标题所述 “NASL相关设置”页: “攻击脚本列表” - 由于目前Scripts目录中的脚本数量已近2000个,在批量扫描中可以通过定制脚本列表,只选取高风险级别漏洞进行检测,以加快扫描速度。若需要选择所有脚本,应将该输入框清空。 “选择脚本” - 打开脚本选择窗口,通过风险级别、检测手段、漏洞类型等分类方式定制脚本列表 “脚本运行超时(秒)” - 设置一个脚本可运行的最长时间,超时后将被强行终止 “网络读取超时(秒)” - 设置TCP连接每次读取数据的最长时间,超时数据将被忽略 “跳过针对主机的破坏性脚本” - 如标题所述 “检测脚本间的依赖关系” - NASL脚本间相互是有关联的,比如一个脚本先获取服务的版本,另一个脚本再根据服务版本进行其他检测。如果打乱了脚本的执行顺序可能会影响扫描结果,但也由于脚本间不需要互相等待,会节省扫描时间。 “顺序执行针对服务的破坏性脚本” - 如果一个脚本正在尝试D.O.S某个服务,另一个脚本同时在获取该服务信息,或同时有其他脚本尝试溢出该服务,将导致扫描结果不正确。但如果脚本间不需要互相等待,将会节省扫描时间。 “网络设置”页: “网络适配器” - 选择适当的网络适配器以便WinPCap驱动过滤相应的数据报,否则可能会漏报由WinPCap驱动接收数据的NASL脚本检测结果,也会影响采用NMAP的方法识别目标操作系统的结果。对于拨号用户,应当选择“\Device\Packet_NdisWanIp”。 “CGI相关设置”页: “CGI编码方案” - 全部如标题所述 “字典文件设置”页: 设置各服务对应的密码字典文件六. 命令行方式运行参数说明: 1.命令格式: xscan -host [-] [其他选项] xscan -file [其他选项] 其中 含义如下: -active : 检测目标主机是否存活 -os : 检测远程操作系统类型(通过NETBIOS和SNMP协议) -port : 检测常用服务的端口状态 -ftp : 检测FTP弱口令 -pub : 检测FTP服务匿名用户写权限 -pop3 : 检测POP3-Server弱口令 -smtp : 检测SMTP-Server漏洞 -sql : 检测SQL-Server弱口令 -smb : 检测NT-Server弱口令 -iis : 检测IIS编码/解码漏洞 -cgi : 检测CGI漏洞 -nasl : 加载Nessus攻击脚本 -all : 检测以上所有项目 [其他选项] 含义如下: -i : 设置网络适配器, 可通过"-l"参数获取 -l: 显示所有网络适配器 -v: 显示详细扫描进度 -p: 跳过没有响应的主机 -o: 跳过没有检测到开放端口的主机 -t : 指定最大并发线程数量和并发主机数量, 默认数量为100,10 -log : 指定扫描报告文件名, TXT或HTML后缀 * cgi及iis参数中“编码方案”含义: 1.用“HEAD”替换“GET” 2.用“POST”替换“GET” 3.用“GET / HTTP/1.0\r\nHeader:” 替换 “GET” 4.用“GET /[filename]?param=” 替换 “GET”(可通过\dat\config.ini文件的“CGI-ENCODE\encode4_index_file”项设置[filename]) 5.用“GET %00 ” 替换 “GET” 6.多个“/”或“\” 7.“/”与“\”互换 8.用“”替换“” 注:各变形方案若不冲突则可以同时使用,如“-cgi 1,6,8”表示同时使用第1、6、8号方案对HTTP请求进行变形。 2.示例: xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active -p 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的所有漏洞,跳过无响应的主机; xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -port -smb -t 150 -o 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的标准端口状态,NT弱口令用户,最大并发线程数量为150,跳过没有检测到开放端口的主机; xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 含义:检测“hostlist.txt”文件中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机;七. 常见问题解答: Q:如果没有安装WinPCap驱动程序是否能正常使用X-Scan进行扫描? A:如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap 2.3;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。“WinPCap 3.1 beta”中存在BUG,可能导致X-Scan扫描进程异常,建议使用“WinPCap 2.3”。 Q:扫描一个子网,进程里同时出现10个checkhost.exe的进程是什么原因? A:检测每个主机都会单独起一个Checkhost.exe进程,检测完毕会自动退出。并发主机数量可以通过图形界面的设置窗口设定,命令行程序通过“-t”参数设定。 Q:扫描过程中机器突然蓝屏重启是什么原因? A:扫描过程中系统蓝屏是有可能的,AtGuard、天网等防火墙的驱动程序在处理特殊包的时候有可能出错导致系统崩溃,另外很多防火墙驱动与WinPCap驱动本身也存在冲突,建议先禁止或卸载防火墙程序再试试。 Q:操作系统识别不正确是什么原因? A:操作系统识别方面确实不能保证100%的准确率,目前是综合NMAP、P0F的指纹库、NETBIOS信息和SNMP信息进行识别,如果目标机器没有开放NETBIOS和SNMP协议,TCP/IP堆栈指纹也不在数据库中,就需要使用者根据其他信息综合分析了。 Q:为什么在一次扫描中我选择了“SYN”方式进行端口扫描,但X-Scan实际采用的是“TCP”方式,而且也没有被动识别出目标操作系统? A:端口扫描中的“SYN”方式和被动主机操作系统识别功能在NT4系统下无法使用,在windows 2000等系统下使用时必须拥有管理员权限,否则将自动改用“TCP”方式进行端口扫描。 Q:新版本是否兼容2.3版本的插件? A:X-Scan 3.0的插件接口做了少量修改,不兼容2.3以前版本的插件,需要原作者做相应修改。3.0版本提供了简单的开发库,插件开发方面要比2.3版本轻松许多。 Q:X-Scan 3.0中“跳过没有响应的主机”具体含义是什么? A:检测存活主机是由CheckActive插件完成的。如果X-Scan运行于NT4.0系统,只能通过ICMP Ping方式对目标主机进行检测,而在WIN2K以上版本的Windows系统下,若具备管理员权限则通过TCP Ping的方式进行存活性检测。 Q:我看到Scripts目录下有很多nessus的脚本,是否可以自己从nessus的网站上下载最新的plugin,然后解压到scripts目录中,实现扫描最新漏洞? A:X-Scan移植了nessus的nasl引擎,目前对应于nessus2.0.10a。所以只要是这个版本的nessus支持的脚本,都可以复制到Scripts目录下加载,但需要在配置界面里把“NASL相关设置”页的“攻击脚本列表”框清空,或者通过“选择脚本”把新脚本加入列表。 Q:X-Scan中各项弱口令插件检测范围都很有限,能否自己加入其他需要检测的帐号或口令? A:在“X-Scan”中内置的密码字典仅为简单示范,使用者如果希望软件有更强的密码猜解能力,可以自己编辑密码字典文件。 Q:为什么nasl脚本扫描结果中存在大量英文,将来有没有可能会对这些英文信息进行汉化? A:目前已有将近2000个NASL脚本,里面的描述信息大都是英文,需要翻译的内容可以在本站“焦点项目”中的X-Scan下看到。欢迎大家一起帮忙翻译,通过审核后会直接加入在线升级库供大家下载。 Q:用xscan.exe在命令行方式下进行扫描时,如何暂停或终止扫描? A:命令行方式检测过程中,按“[空格]”键可查看各线程状态及扫描进度,按“[回车]”可暂停或继续扫描,按“q”键可保存当前数据后提前退出程序,按“”强行关闭程序。 Q:位于dat目录下的wry.dll有什么用处? A:wry.dll是“追捕”软件的地址查询数据库,用于X-Scan中文版查询物理地址并且得到了作者许可。在此对“追捕”软件作者及所有为建立此数据库作出贡献的朋友表示感谢。由于没有考虑和将来“追捕”数据库的兼容问题,不能保证能正确使用以后版本的“追捕”数据库。在“追捕”数据库文件格式没有改变的情况下,可以将新版本的数据库文件“wry.dll”拷贝到dat目录下替换旧版本文件,但建议在覆盖前备份旧文件。 Q:X-Scan如何安装,是否需要注册? A:X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动安装WinPCap驱动)。八. 版本发布: X-Scan v3.1 -- 发布日期:03/25/2004,修改“存活主机”插件,加入2.3版本中SNMP、NETBIOS插件,优化主程序及NASL库。 X-Scan v3.02 -- 发布日期:03/08/2004,“WinPCap 3.1 beta”中存在BUG,可能导致CheckHost.exe异常。X-Scan中改用“WinPCap 2.3”,建议卸载“WinPCap 3.1 beta”后再使用X-Scan进行扫描。 X-Scan v3.0 -- 发布日期:03/01/2004,修正beta版本中已知BUG,对主程序及所有插件进行优化,升级NASL库,支持2.0.10a版本以前的所有NASL脚本;提供简单的开发包方便其他朋友共同开发插件;其他插件正在开发中。 感谢悟休、quack帮忙精选nasl脚本列表,感谢san为支持X-Scan项目编写相关页面程序。再次感谢安全焦点论坛上所有提供优秀思路和协助测试的朋友们。 X-Scan v3.0(beta) -- 发布日期:12/30/2003,对主程序结构进行调整,加入移植的NASL插件,支持2.0.9版本以前的所有NASL脚本;对插件接口做少量修改,方便由其他朋友共同开发插件;对远程操作系统识别功能进行了加强,并去掉了一些可由脚本完成的插件。 感谢isno和Enfis提供优秀插件,感谢悟休、quack帮忙精选nasl脚本列表,也感谢其他提供优秀思路和协助测试的朋友。 X-Scan v2.3 -- 发布日期:09/29/2002,新增SSL插件,用于检测SSL漏洞;升级PORT、HTTP、IIS插件;升级图形界面并对界面风格作细微调整。 感谢ilsy提供优秀插件。 X-Scan v2.2 -- 发布日期:09/12/2002,修正PORT插件中线程同步BUG;修正RPC插件字符显示BUG;扩充RPC漏洞数据库;调整扫描结果索引文件风格。 感谢xundi、quack、stardust搜集并整理漏洞数据库。 X-Scan v2.1 -- 发布日期:09/08/2002,将SNMP插件扫描项目改为可选;将HTTP、IIS、RPC插件中的“漏洞描述”链接到xundi整理的漏洞数据库;修正2.0以前版本中已知BUG。 X-Scan v2.0 -- 发布日期:08/07/2002,新增路由信息检测、SNMP信息检测插件;升级NETBIOS插件,新增远程注册表信息检测;升级IIS插件,新增对IIS.ASP漏洞的检测;对插件接口做细微修改;更新图形界面,新增“在线升级”功能;扩充CGI漏洞数据库;修正1.3以前版本中已知BUG。 感谢quack、stardust、sinister、ilsy、santa、bingle、casper提供宝贵资料或优秀插件,感谢san、xundi、e4gle协助测试,也感谢所有来信反馈和提出建议的热心朋友。 X-Scan v1.3 -- 发布日期:12/11/2001,修正PORT插件中关于远程操作系统识别的BUG。 X-Scan v1.2 -- 发布日期:12/02/2001,升级HTTP、IIS插件,新增对HTTP重定向错误页面识别功能;升级PORT插件,在无法创建Raw Socket时改为使用标准TCP连接方式检测开放端口。 X-Scan v1.1 -- 发布日期:11/25/2001,将所有检测功能移入插件,使主程序完全成为“容器”;提供多语言支持;更新图形接口程序;修改多线程模式,所有插件共享最大线程数量,提高并发检测速度;新增SMTP、POP3弱口令用户检测;新增IIS UTF-Code漏洞检测;扩充CGI漏洞列表。 感谢xundi、quack、casper、wollf、黄承等朋友提供的宝贵资料,感谢echo、力立等朋友协助测试,再次向付出了重体力劳动的xundi和quack致谢,涕零..... X-Scan v1.0(beta) -- 发布日期:07/12/2001,新增对远程操作系统类型及版本识别功能;新增对远程主机地理位置查询功能;在“-iis”选项中,新增对IIS “.ida/.idq”漏洞的扫描,同时更新漏洞描述;在“-port”参数中,允许指定扫描的端口范围(通过修改“dat\config.ini”文件中的“[PORT-LIST]\port=”);在“-ntpass”参数中,允许用户在编辑密码字典时通过“%”通配所有用户名;更新CGI漏洞列表,并对CGI漏洞进行分类,以便根据远程主机系统类型扫描特定CGI漏洞,加快扫描速度。 感谢“天眼”软件作者--watercloud提供“被动识别远程操作系统”模块;感谢“追捕”软件作者--冯志宏提供“IP-地理位置”数据库;感谢quack提供漏洞资料、程序资料、无数有价值的建议还有感情和...... X-Scanner v0.61 -- 发布日期:05/17/2001,在“-iis”选项中新增对IIS CGI文件名二次解码漏洞的检测。 X-Scanner v0.6 -- 发布日期:05/15/2001,新增“-iis”参数,专门用于扫描IIS服务器的“unicode”及“remote .printer overflow”漏洞;更新漏洞描述;调整CGI扫描的超时时间,尽量避免因超时导致的“扫描未完成”情况出现;为避免“RedV”插件被恶意利用,将自动更换主页功能改为自动向“C:\”目录上传包含警告信息的文本文件。 X-Scanner v0.5 -- 发布日期:04/30/2001,修改了命令行参数,使参数含义更加直观;扩充CGI漏洞数据库;对NT弱口令扫描功能进行扩充--允许用户使用用户名及密码字典;增加插件功能,并公布插件接口。 感谢“santa”和“老鬼(colossus)”提供插件。 X-Scanner v0.42b -- 发布日期:03/07/2001,修正了“-b”选项在特定情况导致系统overflow的BUG。 X-Scanner v0.42 -- 发布日期:03/02/2001,允许用户对SQL-SERVER帐户进行扩充,而不局限于扫描“sa”空口令。 X-Scanner v0.41 -- 发布日期:02/19/2001,修正了以前版本中对FTP弱口令检测的BUG;重新优化代码,将xscan.exe与xscan98合二为一。 X-Scanner v0.4 -- 发布日期:02/15/2001,加入对SQL-SERVER默认“sa”帐户的扫描;在充分认识了某些人的惰性之后,临时制作了傻瓜式图形界面(一切操作按序号点击即可)。 X-Scanner v0.31 -- 发布日期:01/17/2001,对端口扫描方式和输出文件的格式做了细微调整;对Unicode解码漏洞进行了扩充;提供了for win98的版本和一个简单的CGI列表维护工具。 X-Scanner v0.3 -- 发布日期:12/27/2000,加入线程超时限制;增加代理功能;扩充CGI漏洞数据库,加入对Unicode解码等漏洞的检测及描述;修正内存泄露问题。内部测试版。 X-Scanner v0.2 -- 发布日期:12/12/2000,内部测试版。九. 后序: X-Scan是一个完全免费软件,其中的漏洞资料和整体功能都存在严重不足,各项功能的测试受时间及环境所限也不够全面。只有靠朋友们积极提供相关资料,或提出自己的建议及想法,才能把X-Scan做得更好。欢迎大家来信或访问我们的站点参与交流。 感谢安全焦点和uid0小组全体成员、前DarkSun部分成员的鼎力支持,同时也因个人资质问题向大家致歉。 --glacier_at_xfocus_dot_org_____________________________________________________________________使用过程中如有问题、建议或发现错误请发邮件至:xscan_at_xfocus_dot_org版权所有:安全焦点(http://www.xfocus.org)
2008年爆发全球金融危机,同年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比特币白皮书《比特币:一种点对点的电子现金系统》 [6]  ,陈述了他对电子货币的新设想——比特币就此面世。2009年1月3日,比特币创世区块诞生。 和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。2009年1月5日,不受央行和任何金融机构控制的比特币诞生。比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造。 每当比特币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比特币。早先,这些分析总是集中在比特币是不是骗局。而现如今的分析总是集中在比特币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比特币的通缩特性上。 [7]  不少比特币玩家是被比特币的不能随意增发所吸引的。和比特币玩家的态度截然相反,经济学家们对比特币2100万固定总量的态度两极分化。 凯恩斯学派的经济学家们认为政府应该积极调控货币总量,用货币政策的松紧来为经济适时的加油或者刹车。因此,他们认为比特币固定总量货币牺牲了可调控性,而且更糟糕的是将不可避免地导致通货紧缩,进而伤害整体经济。奥地利学派经济学家们的观点却截然相反,他们认为政府对货币的干预越少越好,货币总量的固定导致的通缩并没什么大不了的,甚至是社会进步的标志。 比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为区块奖励,奖励获得答案的人。 [6]  2009年,比特币诞生的时候,区块奖励是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),区块奖励减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,区块奖励再减半为12.5个。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。 [3]  [8]  比特币是一种虚拟货币,数量有限,但是可以用来套现:可以兑换成大多数国家的货币。你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。 2014年2月25日,“比特币中国”的比特币开盘价格为3562.41元,截至下午4点40分,价格已下跌至3185元,跌幅逾10%。根据该平台的历史行情数据显示,在2014年1月27日,1比特币还能兑换5032元人民币。这意味着,该平台上不到一个月,比特币价格已下跌了36.7%。 同年9月9日,美国电商巨头eBay宣布,该公司旗下支付处理子公司Braintree将开始接受比特币支付。该公司已与比特币交易平台Coinbase达成合作,开始接受这种相对较新的支付手段。 虽然eBay市场交易平台和PayPal业务还不接受比特币支付,但旅行房屋租赁社区Airbnb和租车服务Uber等Braintree客户将可开始接受这种虚拟货币。Braintree的主要业务是面向企业提供支付处理软件,该公司在2013年被eBay以大约8亿美元的价格收购。 2017年1月22日晚间,火币网、比特币中国与OKCoin币行相继在各自官网发布公告称,为进一步抑制投机,防止价格剧烈波动,各平台将于1月24日中午12:00起开始收取交易服务费,服务费按成交金额的0.2%固定费率收取,且主动成交和被动成交费率一致。 [9]  5月5日,OKCoin币行网的新数据显示,比特币的价格刚刚再度刷新历史,截止发稿前高触及9222元人民币高位。1月24日中午12:00起,中国三大比特币平台正式开始收取交易费。9月4日,央行等七部委发公告称中国禁止虚拟货币交易。同年12月17日,比特币达到历史高价19850美元。 2018年11月25日,比特币跌破4000美元大关,后稳定在3000多美元。 [10]  11月19日,加密货币恢复跌势,比特币自2017年10月以来首次下探5000美元大关,原因是之前BCH出现硬分叉,且监管部门对首次代币发行(ICO)加强了审查。 [10]  11月21日凌晨4点半,coinbase平台比特币报价跌破4100美元,创下了13个月以来的新低。 2019年4月,比特币再次突破5000美元大关,创年内新高。 [11]  5月12日,比特币近八个月来首次突破7000美元。 [12]  5月14日,据coinmarketcap报价显示,比特币站上8000美元,24小时内上涨14.68%。 [13]  6月22日 ,比特币价格突破10000美元大关。比特币价格在10200左右震荡,24小时涨幅近7%。 [14]  6月26日,比特币价格一举突破12000美元,创下自去年1月来近17个月高点。 [15]  6月27日早间,比特币价格一度接近14000美元,再创年内新高。 [16]  2020年2月10日,比特币突破了一万美元。据交易数据,比特币的价格涨幅突破3% [17]  。3月12日,据加密货币交易平台Bitstamp数据显示,19点44分,比特币低价格已跌至5731美元 [18]  。5月8日,比特币突破10000美元关口,创下2月份以来的新高 [19]  。5月10日早上8点开始,比特币单价在半小时内从9500美元价位瞬间下跌了上千美元,低价格跌破8200美元,高价差超1400美元 [20]  。7月26日下午6点,比特币短时极速拉升,高触及10150.15USDT,日内大涨幅超过4%,这是2020年6月2日以来首次突破1万美元关口 [21]  。11月4日,比特币价格正式突破14000美元 [22]  。11月12日晚,比特币价格突破16000美元,刷新2018年1月以来新高,一周涨超8.6%。比特币总市值突破2915亿美元 [23]  。11月18日,比特币价格突破17000美元 [24]  。12月1日,比特币价格报19455.31美元,24小时涨幅为5.05%。 [25]  12月17日,比特币价格突破23000美元整数关口,刷新历史新高,日内涨幅超7.5%。 [26]  截至12月27日19时20分,比特币报价28273.06美元。 [27]  2021年1月8日,比特币涨至4万美元关口上方,高至40402美元 

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧