-
gcc和g++是啥 有什么差异
所属栏目:[语言] 日期:2023-04-10 热度:3471
发展至今,GCC 编译器已经更新至 10.1.0 版本,其功能也由最初仅能编译 C 语言,扩增至可以编译多种编程语言,其中就包括 C++ 。除此之外,当下的 GCC 编译器还支持编译 Go、Objective-C,Objective-C ++,Fortran,[详细]
-
再说说UDP和TCP
所属栏目:[语言] 日期:2023-04-10 热度:8873
TCP 是面向连接的传输协议,建立连接时要经过三次握手,断开连接时要经过四次握手,中间传输数据时也要回复 ACK 包确认,多种机制保证了数据能够正确到达,不会丢失或出错。UDP 是非连接的传输协议,没有建立连接和断[详细]
-
图解TCP四次握手断开联系
所属栏目:[语言] 日期:2023-04-10 热度:2539
建立连接非常重要,它是数据正确传输的前提;断开连接同样重要,它让计算机释放不再使用的资源。如果连接不能正常断开,不仅会造成数据传输错误,还会导致套接字不能关闭,持续占用资源,如果并发量高,服务器压力堪[详细]
-
详细解析TCP数据的传输步骤
所属栏目:[语言] 日期:2023-04-10 热度:6498
建立连接后,两台主机就可以相互传输数据了。主机A分2次(分2个数据包)向主机B传递200字节的过程。首先,主机A通过1个数据包发送100个字节的数据,数据包的 Seq 号设置为 1200。主机B为了确认这一点,向主机A发送 A[详细]
-
图解TCP数据报结构以及三次握手 非常具体
所属栏目:[语言] 日期:2023-04-10 热度:9272
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。客户端在收发数据前要使用 connect() 函数和服务器建立连接[详细]
-
TCP协议的粘包疑问 数据的无边界性
所属栏目:[语言] 日期:2023-04-10 热度:6056
上节我们讲到了socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数可能不[详细]
-
socket缓冲区以及阻塞模式细说
所属栏目:[语言] 日期:2023-04-10 热度:9061
在《socket数据的接收和发送》一节中讲到,可以使用 write()/send() 函数发送数据,使用 read()/recv() 函数接收数据,本节就来看看数据是如何传递的。socket缓冲区每个 socket 被创建后,都会分配两个缓冲区,输入缓[详细]
-
send()/recv()和write()/read() 发送数据与接收数据
所属栏目:[语言] 日期:2023-04-10 热度:6780
在 Linux 和 Windows 平台下,使用不同的函数发送和接收 socket 数据,下面我们分别讲解。Linux下数据的接收和发送Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接[详细]
-
GCC编译器下载和安设教案 针对Linux发行版
所属栏目:[语言] 日期:2023-04-10 热度:7958
由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。如果读者不清楚当前使用的[详细]
-
何为GCC
所属栏目:[语言] 日期:2023-04-10 热度:5365
对于 GCC 的认知,很多读者还仅停留在“GCC 是一个C语言编译器”的层面,是很片面的。从本节开始,我将带领大家系统学习 GCC,本节先带领大家系统地了解一下 GCC。谈到 GCC,就不得不提 GNU 计划。GNU 全称[详细]
-
listen()和accept()函数 使套接字进入监听状态并响应客户端请求
所属栏目:[语言] 日期:2023-04-08 热度:4316
对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了。listen() 函数通过 listen() 函数可以让套接字进入被动监听[详细]
-
bind()和connect()函数 绑定套接字并创立连接
所属栏目:[语言] 日期:2023-04-08 热度:3318
socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套接字与特定的 IP 地址和端口绑定起来,只有这样,流经该 IP 地址和端口的数据才能交给套接字处理。类似地,客户端也要用 conn[详细]
-
AOE网求关键路径解说 包括C语言实现代码
所属栏目:[语言] 日期:2023-04-08 热度:9768
什么是AOE网AOE 网是在 AOV 网的基础上,其中每一个边都具有各自的权值,是一个有向无环网。其中权值表示活动持续的时间。使用 AOE 网可以帮助解决这样的问题:如果将 AOE 网看做整个项目,那么完成整个项目至少需要[详细]
-
数据结构的图存储构架
所属栏目:[语言] 日期:2023-04-08 热度:7370
我们知道,数据之间的关系有 3 种,分别是 "一对一"、"一对多" 和 "多对多",前两种关系的数据可分别用线性表和树结构存储,本节学习存储具有"多对多"逻辑关系数据的结构——图存储结构。可以看到,各个顶[详细]
-
n个结点创造多少种树
所属栏目:[语言] 日期:2023-04-08 热度:7040
本节要讨论的是当给定 n(n>=0)个结点时,可以构建多少种形态不同的树。如果两棵树中各个结点的位置都一一对应,可以说这两棵树相似。如果两棵树不仅相似,而且对应结点上的数据也相同,就可以说这两棵树等价。本节[详细]
-
何为数组存储结构
所属栏目:[语言] 日期:2023-04-08 热度:1744
本节将从数据结构的角度讲解数组存储结构。本节所讲的数组,要将其视为一种存储结构,与平时使用的数组基本数据类型区分开。一说起数组,我们的印象中数组往往是某一门编程语言中包含的具体数据类型,其实不然。从本[详细]
-
socket()函数用法细说 创建套接字
所属栏目:[语言] 日期:2023-04-08 热度:2715
不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值。在《socket是什么》一节中我们讲到了 Windows 和 Linux 在对待 socket 方面的区别。Linux 中[详细]
-
OSI网络七层模型简单教案
所属栏目:[语言] 日期:2023-04-08 热度:1640
如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大。OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。OSI 模型把网络通信的工作分为 7 层,从[详细]
-
套接字有哪些类别 socket有什么类型
所属栏目:[语言] 日期:2023-04-08 热度:7153
这个世界上有很多种套接字(socket),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等。但本教程只讲第一种套接字——Internet 套接字,[详细]
-
socket是什么 套接字是啥
所属栏目:[语言] 日期:2023-04-08 热度:4473
网络编程就是编写程序使两台联网的计算机相互交换数据。这就是全部内容了吗?是的!网络编程要比想象中的简单许多。那么,这两台计算机之间用什么传输数据呢?首先需要物理连接。如今大部分计算机都已经连接到互联网[详细]
-
静态链表基本操作 C语言细说
所属栏目:[语言] 日期:2023-04-06 热度:4901
上节,我们初步创建了一个静态链表,本节学习有关静态链表的一些基本操作,包括对表中数据元素的添加、删除、查找和更改。本节是建立在已能成功创建静态链表的基础上,因此我们继续使用上节中已建立好的静态链表学习[详细]
-
VS 无法查找或打开PDB文件 是怎么回事 怎样解决
所属栏目:[语言] 日期:2023-04-06 热度:3976
有时候,我们使用 VS(Visual Studio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行:大家不要惊慌,出现这种提示并不是代码写错了,而是编译器设置的问题,改一下[详细]
-
VS安全函数问题 C语言安全函数 是咋回事 如何解决
所属栏目:[语言] 日期:2023-04-06 热度:7834
在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有_s后缀的安全函数。什么是安[详细]
-
C-Free使用教程 利用C-Free编写C语言程序
所属栏目:[语言] 日期:2023-04-06 热度:4162
C-Free 是一款国产的Windows下的C/C++ IDE,最新版本是 5.0,整个软件才 14M,非常轻巧,安装简单。按照教程中的说明安装并 C-Free 5.0。需要注意的是:C-Free 5.0 在 XP、Win7 下能够完美运行,在 Win8、Win10 下可[详细]
-
Dev C++下载地址和安设教程
所属栏目:[语言] 日期:2023-04-06 热度:2810
Dev C++ 是一款免费开源的 C/C++ IDE,内嵌 GCC 编译器(GCC 编译器的 Windows 移植版),是 NOI、NOIP 等比赛的指定工具。Dev C++ 的优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。安装[详细]