============================C/C++基础拾遗=====================================
1.指针:
函数指针做函数参数 回调函数 语法现象 意义 实现什么效果
(1).间接赋值成立的三个条件
a.两个变量
b.建立关联
c. *p->
(2).函数指针做函数参数
a.调用的角度去理解:谁调用函数指针做函数参数的api函数,谁提供回调函数的入口地址
b.项目/工程意义:把任务的编写者 和任务的调用者 给解耦合
c.为什么 叫做回调:本来你去调用动态库 结果动态库 又来调用你写的api函数
2.多态的概念:
1.同样一个api 在不同的子类和父类之间穿梭的时候 表现出不同的形态
2.同一个舞台 向其中传入 子类对象、父类对象 ;执行对象api函数
多态的三个条件:
1.要有继承
2.要有虚函数重写
3.父类引用或者父类指针指向子类对象
多态的工程意义: 可扩展
C++编译器是如何实现多态 //vptr 虚函数
提前布局: C++编译器为函数虚函数的类的对象 提前布局 vptr和虚函数
虚函数
发生多态时:c++编译器 根本不需要区分是子类对象还是父类对象
因为每个对象中 都有一个vptr 通过vptr指针找到虚函数表 然后执行
3.全局变量先于main函数分派内存 编译器的角度去分析问题.(建立完整的知识体系是必须,重要的).
4.(全局变量局部变量的作用域)全局变量和局部变量的作用域不同,调用 函数时未传参,
调用函数中未定义,那就只能用全局的,不能用局部的。
5.(void) 0 什么意思?
1>在函数前面代表函数无返回值,不能做右值.
2>在函数里面代表无传参;
3>对0强转为(void);
6.Linux系统在安装时内存分区?
详细见:http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html
7.sizeof运算符(操作符)相关详见:http://www.cnblogs.com/kangjianwei101/p/5219984.html
++++++++++++++++++++Windows下常见的一些问题解决方法+++++++++++++++++++++++++++++++++++++
一.在vs中(vc工程中)遇到的一些问题:
MSB8020 err:项目属性/常规/平台工具集/(选择你现在用的vs版本的平台即可).
======================Linux下常见问题解决==============================
一.虚拟机网络适配器的两种模式:
1.虚拟机的NAT模式:虚拟机和本机共用一个网卡,只能和本机连接,外部可以连接我的虚拟机,
但是我的虚拟机连不上外部。ip为自动获取。(和本机共享ip地址)。
连接网络是通过我的主机连接(主机连接的话我的虚拟机也会联网)。
2.虚拟机的桥接模式:虚拟机和本机是独立的两个主机,各自拥有自己的ip地址。联网的话,需要各自联网。
========================解决办法=============================
一.虚拟机的联网问题:
VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。?
如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作。此时,对虚拟系统工作模式的选择就非常重要了。如果你选择的工作模式不正确,就无法实现上述目的,也就不能充分发挥VMWare在网络管理和维护中的作用。现在,让我们一起走近VMWare的三种工作模式。
理解三种工作模式
VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。
1.bridged(桥接模式)
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一**立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2.host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
===========================
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。
3.NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。
======================
注:UE,Xshell等软件需要在Linux中安装ssh,命令:sudo apt-get install openssh-server 安装之后才能连接虚拟机。
===========================网络安全================================
中美黑客大战:王伟
渗透工程师
《黑客攻防技术宝典-web篇/系统篇》
===========================涨知识=================================
1.在DOS中开启WiFi,不用WiFi软件
a.cmd中设置WiFi的名称和密码:
netsh wlan set hostednetwork mode=allow ssid=name key=0xxxxxxx
回车即可.
b.WiFi设置好之后,接下来我们新建一个txt文档输入开启WiFi的命令:
netsh wlan start hostednetwork
然后保存文档,将文档后缀名改成cmd
c.然后右击开启WiFi.cmd,以管理员身份运行就能简单快速的开启wifi。完成后我们就可在手机看设置好的wifi“name"。
d.同样的原理我们再建一个txt文档输入关闭WiFi的命令,把文档后缀名改成cmd就可以了,双击就可以关闭WiFi。
关闭WiFi命令:netsh wlan stop hostednetwork