随笔分类 -  编程学习

摘要:BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的或者初始值为0的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内 阅读全文
posted @ 2024-10-13 17:15 yyyyyllll 阅读(230) 评论(0) 推荐(0)
摘要:在 C/C++ 语言中,const关键字是一种修饰符。所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点。在编译的过程中,一旦我们的代码试图去改变这些东西 阅读全文
posted @ 2024-10-13 16:13 yyyyyllll 阅读(12) 评论(0) 推荐(0)
摘要:1. 定义 函数指针是指向函数的指针变量。所以“函数指针”本身首先应是指针变量,该指针变量指向函数。 函数指针是指向函数的指针变量,本质是一个指针。而指针函数是返回值为指针的一个函数,本质是一个函数。 2.声明方法 返回值类型 (*指针变量名) (形参列表); int func(int x); // 阅读全文
posted @ 2024-10-13 15:57 yyyyyllll 阅读(50) 评论(0) 推荐(0)
摘要:1. switch switch 语句是编写一连串 if - else 语句的简便方法。它运行第一个 case 值, 值等于条件表达式的子句。 Go 的 switch 语句类似于 C、C++、Java、JavaScript 和 PHP 中的,不过 Go 只会运行选定的 case,而非之后所有的 ca 阅读全文
posted @ 2024-10-09 14:00 yyyyyllll 阅读(33) 评论(0) 推荐(0)
摘要:结构体中成员变量前的点: 结构体成员指定初始化 1.该结构体要先定义再使用点。 2.一个成员变量赋值完后用逗号而不是分号和其他变量隔开。 3.从C99标准开始支持的。 加 “.”的话可以不考虑赋值顺序,表示在这个结构体中选择这个变量来赋值,所以可以不考虑结构体中变量的顺序。 例如: struct p 阅读全文
posted @ 2024-09-30 13:43 yyyyyllll 阅读(152) 评论(0) 推荐(0)
摘要:1. 零值 零值是指当你声明变量(分配内存)并未显式初始化时,始终为你的变量自动设置一个默认初始值的策略。 对于值类型:布尔类型为 false, 数值类型为 0,字符串为 "",数组和结构会递归初始化其元素或字段,即其初始值取决于元素或字段。 对于引用类型: 均为 nil,包括指针 pointer, 阅读全文
posted @ 2024-09-19 23:36 yyyyyllll 阅读(67) 评论(0) 推荐(0)
摘要:1. 数组 像大多数编程语言一样,Go也有数组。然而,在Go中很少直接使用数组。 数组中的所有元素都必须是指定的类型(这并不意味着它们总是相同的类型)。有几种不同的声明风格。在第一个语句中,指定数组的大小和数组元素的类型: var x [3]int 这将创建一个包含三个整型数的数组。由于没有指定任何 阅读全文
posted @ 2024-09-15 15:12 yyyyyllll 阅读(32) 评论(0) 推荐(0)
摘要:1. 内置类型 go和其他很多语言一样,有多个内置类型:布尔型、整型、浮点型和字符串类型。 1.1 零值 像大多数现代语言一样,将声明但没有赋值的变量默认赋值为0。 1.2 字面值 在go中,字面值指的是一个数字、字符或字符串。在Go程序中有四种常见的字面量(在讨论复数时,我们将讨论罕见的第五种字面 阅读全文
posted @ 2024-09-14 16:33 yyyyyllll 阅读(56) 评论(0) 推荐(0)
摘要:1.以异步的方式向TCP socket中写入 Boost.asio提供的用于异步将数据写入套接字的最基本工具是Asio::ip::tcp::socket类的async_write_some()方法。其中一个方法的重载: template<typename ConstBufferSequence,ty 阅读全文
posted @ 2024-09-07 13:07 yyyyyllll 阅读(29) 评论(0) 推荐(0)
摘要:1. 引言 I/O操作是任何分布式应用程序的网络基础设施中的关键操作。他们直接参与数据交换的过程。输入操作用于从远程应用程序接收数据,而输出操作允许向远程应用程序发送数据。 1.1 I/O buffers 网络编程就是通过计算机网络组织进程间通信。这种情况下的通信意味着在两个或多个进程之间交换数据。 阅读全文
posted @ 2024-09-06 20:26 yyyyyllll 阅读(97) 评论(0) 推荐(0)
摘要:1.网络编程的基本流程 socket(套接字) protocol(协议) 对于服务端: socket--创建socket对象。 bind--绑定本机ip和port。即调用bind函数分配IP地址和端口号。 listen--监听来电,若监听到来电,则建立连接。 accept--调用此函数受理连接请求。 阅读全文
posted @ 2024-09-04 20:42 yyyyyllll 阅读(55) 评论(0) 推荐(0)
摘要:1. 整数类型long long 此类型由C++11引入标准,long long至少是64位的整数类型。long long是一个有符号类型,对应的无符号类型是unsigned long long。C++标准还为其定义LL和ULL作为这两种类型的字面量后缀。因此在初始化long long类型变量的时候 阅读全文
posted @ 2024-09-01 13:49 yyyyyllll 阅读(64) 评论(0) 推荐(0)
摘要:C++标准库只管理与std::thread关联的线程。 2.1 线程的基本操作 每个程序至少有一个执行main()函数的线程,其他线程与主线程同时进行。如同main()函数执行完会退出一样,线程执行完函数也会退出。 2.1.1 启动线程 简单来说,使用C++线程库启动线程,就是构造std::thre 阅读全文
posted @ 2024-08-31 19:29 yyyyyllll 阅读(31) 评论(0) 推荐(0)
摘要:因为wsl2对于内存的消耗过大,我的电脑内存只有16G,所以对WSL2的内存进行限制。 1.彻底关闭WSL,即在powershell中输入wsl --shutdown 2.在windows的users也就是用户目录下,创建一个.wslconfig的文件。只需要将文件的格式改为.wslconfig即可 阅读全文
posted @ 2024-08-31 15:11 yyyyyllll 阅读(877) 评论(0) 推荐(1)
摘要:因为直接安装的wsl会默认安装在C盘,会占用C盘空间,所以将wsl迁移到非系统盘。具体迁移步骤如下所示。 1.首先打开powershell输入:wsl --shutdown 关闭wsl。 2.在D盘新建一个名为wslubuntu的文件夹,再在powershell中输入命令: wsl --export 阅读全文
posted @ 2024-08-31 15:09 yyyyyllll 阅读(350) 评论(0) 推荐(2)
摘要:1.检查电脑是否开启了虚拟化。打开任务管理器,在性能页面,即可查看是否开启此选项。 如果电脑没有开启,需要在BIOS中开启,开机按F2,进入BIOS,找到【configuration】选项卡,【Inter Virtual Technology】,回车选择enable。 2.打开控制面板,点击程序和功 阅读全文
posted @ 2024-08-31 15:08 yyyyyllll 阅读(399) 评论(0) 推荐(1)
摘要:centos中使用su root命令进入root vim中删除和剪切操作是等价的 阅读全文
posted @ 2024-08-31 14:46 yyyyyllll 阅读(23) 评论(0) 推荐(0)
摘要:ctrl+alt+t打开终端 windows的绝对路径中,目录使用"\"分隔; 在Linux的绝对路径中,目录使用"/"分隔。 Linux的目录是树状结构。 学习shell 什么是shell 引言 当我们谈起命令行时,其实指的是Shell。Shell是一个程序,它接收由键盘输入的命令并将其传递给操作 阅读全文
posted @ 2024-08-31 14:36 yyyyyllll 阅读(49) 评论(0) 推荐(0)
摘要:17. 模板 17.1 函数模板(Function Template ) 1.Function template (函数模板) C++引入了带有泛型的函数模板 1.1. How to specify a type parameter? (如何声明类型参数)? <typename T> : 描述性强, 阅读全文
posted @ 2024-08-31 14:31 yyyyyllll 阅读(37) 评论(0) 推荐(0)
摘要:16. 异常处理 16.1 引言 异常处理使您能够创建可以处理(即解决)异常的应用程序,并在发生无法或不应处理的异常时执行适当的清理。 ‍ 16.2 C++ throw(抛出异常用法详解) 异常处理是许多现代编程语言中不可或缺的一部分,C++ 也不例外。通过使用 throw、try、和 catch 阅读全文
posted @ 2024-08-31 14:19 yyyyyllll 阅读(54) 评论(0) 推荐(0)