-
Linux下的socket演练程序
所属栏目:[语言] 日期:2022-10-27 热度:8175
和C语言教程一样,我们从一个简单的“Hello World!”程序切入 socket 编程。
本节演示了 Linux 下的代码,server.cpp 是服务器端代码,client.cpp 是客户端代码,要实现的功能是:客户端从服务[详细] -
OSI网络七层模型简明教案
所属栏目:[语言] 日期:2022-10-27 热度:9140
如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大。OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。
给数据加包装的过程,实际[详细] -
IP、MAC和端口号 网络通信中确认身份信息的几元素
所属栏目:[语言] 日期:2022-10-27 热度:3838
在茫茫的互联网海洋中,要找到一台计算机非常不容易,有三个要素必须具备,它们分别是 IP 地址、MAC 地址和端口号。
IP地址
IP地址是 Internet Protocol Address 的缩写,译为“网际协议地址&rdq[详细] -
套接字有哪些类别 socket有哪些类型
所属栏目:[语言] 日期:2022-10-27 热度:2885
这个世界上有很多种套接字(socket),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等。但本教程只讲第一种套接字——Internet 套接[详细]
-
socket是啥 套接字是什么
所属栏目:[语言] 日期:2022-10-27 热度:4450
网络编程就是编写程序使两台联网的计算机相互交换数据。这就是全部内容了吗?是的!网络编程要比想象中的简单许多。
我们把插头插到插座上就能从电网获得电力供应,同样,为了与远程计算机进行数据传输,[详细] -
Makefile文件是哪些
所属栏目:[语言] 日期:2022-10-26 热度:9739
我们教程主要是讲的是 Makefile 。很多 Linux(Unix) 做开发的初学者不了解 Makefile 是什么,甚至大部分 Windows 开发工程师对 Makefile 都特别陌生。这个其实很正常,如果你是在 Windows 下作开发的话不需要去考[详细]
-
GDB catch命令 创立捕捉断点
所属栏目:[语言] 日期:2022-10-26 热度:4424
要知道,GDB 调试器支持在被调试程序中打 3 种断点,分别为普通断点、观察断点和捕捉断点,其中普通断点用 break 命令建立(可阅读《GDB break》一节),观察断点用 watch 命令建立(可阅读《GDB watch》一节),[详细]
-
GDB help命令 查看目标命令的详细用法
所属栏目:[语言] 日期:2022-10-26 热度:4299
截止到本节,我们接触了大量的 GDB 命令,甚至很多命令还拥有不同的语法格式和参数。这就产生一个问题,如何才能记住它们呢?
实际上,GDB 调试器的开发人员也想到了这个问题。为了降低用户使用 GDB 调试[详细] -
GDB编辑及搜索源码
所属栏目:[语言] 日期:2022-10-26 热度:3969
本节主要讲解的是在 GDB 内对源文件中的代码进行修改和查找,分别对应 GDB 中的 edit 命令和 search 命令,下面是对这两个命令的详细介绍。
GDB edit命令:编辑文件
在 GDB 中编辑源文件中使用 edit 命[详细] -
GDB frame和backtrace命令 检查栈信息
所属栏目:[语言] 日期:2022-10-26 热度:8430
当程序因某种异常停止运行时,我们要做的就是找到程序停止的具体位置,分析导致程序停止的原因。
对于 C、C++ 程序而言,异常往往出现在某个函数体内,例如 main() 主函数、调用的系统库函数或者自定义的[详细] -
GCC的组成部分以及运用到的软件
所属栏目:[语言] 日期:2022-10-25 热度:932
GCC 是由许多组件组成的。表 1 列出了 GCC 的各个部分,但它们也并不总是出现 的。有些部分是和语言相关的,所以如果没有安装某种特定语言,系统:中就不会出现相关的文件。
表1:GCC 安装的各个部分
[详细] -
GCC编译器下载和安装教案 针对Linux发行版
所属栏目:[语言] 日期:2022-10-25 热度:7126
由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。
如果读者不清[详细] -
Java遍历Map集合的四种方式
所属栏目:[语言] 日期:2022-10-25 热度:9587
Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等[详细]
-
Java Map集合详解
所属栏目:[语言] 日期:2022-10-25 热度:9625
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键(key)对象和一个值(value)对象。用于保存具有映射关系的数据。
Map 集合里保存着两组值,一组值用于保存 Map 里的 key,另[详细] -
Java List集合 ArrayList和LinkedList类的用法及区别
所属栏目:[语言] 日期:2022-10-25 热度:2678
List 是一个有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引,第一个添加到 List 集[详细]
-
C++11 long long超长整形解析
所属栏目:[语言] 日期:2022-10-24 热度:5437
C++ 11 标准中,基于整数大小的考虑,共提供了如表 1 所示的这些数据类型。与此同时,标准中还明确限定了各个数据类型最少占用的位数。
说道 C++ 标准委员会将 long long 整形写入 C++ 11 标准中,其实早[详细] -
C++11 constexpr 验证是不是为常量表达式
所属栏目:[语言] 日期:2022-10-24 热度:2122
constexpr 是 C++ 11 标准新引入的关键字,不过在讲解其具体用法和功能之前,读者需要先搞清楚 C++ 常量表达式的含义。
所谓常量表达式,指的就是由多个(≥1)常量组成的表达式。换句话说,如果表达式[详细] -
C++11 for循环 介于范围的循环 详解
所属栏目:[语言] 日期:2022-10-24 热度:4825
C++ 11标准之前(C++ 98/03 标准),如果要用 for 循环语句遍历一个数组或者容器,只能套用如下结构:
for(表达式 1; 表达式 2; 表达式 3){
//循环体
}
例如,下面程序演示了用上述结[详细] -
C++11非受限结合体 union
所属栏目:[语言] 日期:2022-10-24 热度:2601
在 C/C++ 中,联合体(Union)是一种构造数据类型。在一个联合体内,我们可以定义多个不同类型的成员,这些成员将会共享同一块内存空间。老版本的 C++ 为了和C语言保持兼容,对联合体的数据成员的类型进行了很大[详细]
-
C++11 lambda匿名函数用法解说
所属栏目:[语言] 日期:2022-10-24 热度:8298
lambda 源自希腊字母表中第 11 位的 λ,在计算机科学领域,它则是被用来表示一种匿名函数。所谓匿名函数,简单地理解就是没有名称的函数,又常被称为 lambda 函数或者 lambda 表达式。
继 Python[详细] -
Makefile命令的编辑
所属栏目:[语言] 日期:2022-10-22 热度:30
通过上个章节的描述,我们已经知道了 Makefile 的规则是什么,他是由依赖关系规则和命令组成的。所使用的命令是由 shell 命令行组成,他们是一条一条执行的。多个命令之间要使用分号隔开,Makefile 中的任何命令[详细]
-
Makefile变量的高级用处
所属栏目:[语言] 日期:2022-10-22 热度:2398
我们之前已经学习过变量的定义和基本的赋值运算,我们可以更深入的了解一下变量的一些高级的用法。高级使用方法有两种:一种是变量的替换引用,一种是变量的嵌套引用。这是我们在使用的时候比较常见的两种使用方[详细]
-
C++ STL unordered_map获取元素的4种方案
所属栏目:[语言] 日期:2022-10-22 热度:4681
通过前面的学习我们知道,unordered_map 容器以键值对的方式存储数据。为了方便用户快速地从该类型容器提取出目标元素(也就是某个键值对的值),unordered_map 容器类模板中提供了以下几种方法。
1) un[详细] -
C++ unordered_map insert用法详解
所属栏目:[语言] 日期:2022-10-22 热度:7543
为了方便用户向已建 unordered_map 容器中添加新的键值对,该容器模板中提供了 insert() 方法,本节就对此方法的用法做详细的讲解。
unordered_map 模板类中,提供了多种语法格式的 insert() 方法,根据[详细] -
C++ STL set容器迭代器用法解析
所属栏目:[语言] 日期:2022-10-22 热度:7028
和 map 容器不同,C++ STL 中的 set 容器类模板中未提供 at() 成员函数,也未对 [] 运算符进行重载。因此,要想访问 set 容器中存储的元素,只能借助 set 容器的迭代器。
值得一提的是,C++ STL 标准库为[详细]

浙公网安备 33038102330576号