##socket() 函数:
创建一个套接字
格式:
```cpp
SOCKET 套接字描述字 = socket(int af, int type, int protocol)
```
参数一 (af): 指定应用程序使用的协议族,对于TCP/IP协议族,该参数设置为AF_INET;
参数二 (type):指定要创建的套接字类型,流套接字类型为SOCK_STREAM、数据报套 接字类型为SOCK_STREAM;原始套接字SOCK_RAW;
参数三 (p- 阅读剩余部分 -
**Socket:**将TCP/IP集成到Unix中,出现了许多TCP/IP应用程序接口, 这些接口称为Socket接口。如今Socket接口已成为TCP/IP网络最通用、成熟的API,被称为"套接字"。
**WinSock:**微软制定的一套Windows下的网络编程接口,即WinSock规范。在实际应用中Windows Sockets规范主要有1.1和2.2版。两者的最重要区别是1.1版只支持TCP/IP协议,而2.2版可以支持多协议并且有良好的向后兼容性。
**- 阅读剩余部分 -
#域名和网络地址结构体---struct hostent
**该结构体定义如下:**
```cpp
struct hostent
{
char *h_name; //主机名,即官方域名
char **h_aliases; //主机所有别名构成的字符串数组,同一IP可绑定多个域名
int h_addrtype; //主机IP地址的类型,例如IPV4(AF_INET)还是IPV6
int h_length; //主机IP地- 阅读剩余部分 -
##导入库:
```cpp
#include
```
##非修改性序列操作
循环 对序列中的每个元素执行某操作 for_each()
查找 在序列中找出某个值的第一次出现的位置 find()
计数 在序列中统计某个值出现的次数 count()
两个序列中的对应元素都相同时为真 equal()
搜索 在序列中找出一子序列的第一次出现的位置 search()
##修改性序列操作
复制 从序列的第一个元素起进行复制 copy()
从序列的最- 阅读剩余部分 -
##导入方式:
```cpp
#include
```
##功能:
```cpp
double sqrt(double x); //开平方sqrt是square root缩写
double pow(double x,double y); //求乘方x^y,pow是power的缩写
```
##动态链接库简介:
动态链接库(Dynamic-LinkLibrary)通常包含一堆程序员自定义的变量与函数,可以在运行时动态链接到可执行文件。
##静态库的扩展名:
.dll (Win) .so(Linux)
##静态库的优缺点:
优点:

缺点:
通常包含一堆程序员自定义的变量与函数,在编译期间由编译器与链接器将它集成到可执行文件中。
##静态库的扩展名:
.lib (Win) .a(Linux)
##静态库的优缺点:
**优点:**发布时只需发布exe,因为库已被集成到可执行文件中,运行时对这个库不再依赖。
**缺点:**静态库集成到可执行文件中导致exe文件较大,后续想升级库必须重新编译
##创建静态库的步骤:
>(1) 创建- 阅读剩余部分 -
0\. **GetModuleHandle** (
PCTSTR pszModule; //DLL名称
)
>为了知道一个可执行文件或DLL文件被加载到进程地址空间的什么位置,可以用GetModuleHandle函数来返回一个句柄/基地址。如果系统找到了指定的可执行文件或DLL文件名称,GetModuleHandle就会返回可执行文件/DLL文件映像加载到的基地址。
例: HMODULE ntdll = GetModuleHandle( "ntdll.dll" )- 阅读剩余部分 -

##LoadLibrary() 加载dll函数:
格式:
```cpp
HMODULE WINAPI LoadLibrary(
_In_LPCWSTR lpLibFileName
);
参数:
lpLibFileName: 动态链接库的名称
返回值:
成功则返回库模块的句柄,失败返回0,通过GetLastErro- 阅读剩余部分 -
##什么是库:
是一些最常用的、成熟的、可复用的代码,库代码编译成目标文件后打包存放。
##链接库的分类:
分为静态链接库和动态链接库
```cpp
静态库: .lib文件(Win) .a文件(Linux)
动态库: .dll文件(Win) .so文件(Linux)
```
##链接库的作用:
1.现实中每个程序开发不可能从零开始,需要依赖很多底层库
2.如果我们不希望一些核心的源代码被空开或者被修改,把代码封装成库是最好的选择。
- 阅读剩余部分 -

##C++中的string类型:
在C语言中字符串用字符数组的方式表示,在C++中字符串作为一个单独的数据类型。
1. 需要导入的头文件:
```cpp
#include 或 #include
```
2. 定义string类型:
```cpp
string 字符串名;
```
3. 为字符串赋值:
```cpp
- 阅读剩余部分 -