自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 c++ const_cast转换后的const值的问题

这种基本类似的const申明时,编译器会将a1作类似于宏一样的处理,而结构体却不会这样处理。反汇编后,发现&a地址处的值的确是被修改成了9,但编译器在调用。备注:a1的值仍为2;a.b和b.b都被修改成了9。函数时给到的参数值不是从&a地址取值的,是直接给了。

2024-10-30 14:31:00 292

原创 c++ 嵌入TCL解析器

【代码】c++ 嵌入TCL解析器。

2024-09-14 11:06:26 376

原创 c++ 线程池

【代码】c++ 线程池。

2024-09-14 10:47:37 236

原创 c++多线程安全Queue

不支持拷贝构造函数和赋值运算符重载函数,而默认拷贝构造函数默认行为会调用成员变量的拷贝构造函数进行构造,因此这里的ThreadQueue类也时不支持拷贝构造函数的。默认情况下,ThreadQueue也不应该支持拷贝构造函数,示例代码里可以考虑显示的删除拷贝构造函数。当然,如果有特殊需要也可以自己实现拷贝构造函数的。这里的代码实现统一放在了一个hpp文件中实现。如果想分层h和cpp文件实现,需要考虑模板的显示实例化。这玩意挺搞人的,在写模板类的时候,尽量把实现和定义写在一个文件中吧。

2024-09-14 10:20:43 290

原创 关于int main(int argc, char* argv[])中为什么必须要有argc

在C语言中,编译时确定的函数主要指的是那些不依赖于程序运行时输入或外部状态的函数,以及那些由编译器直接提供或内联展开的内置函数和宏。就知道数组长度了,为啥多出来各argc。最近用该代码求传入函数的数组长度,编译器报warning char** argv了,并且求出来的值始终为1。顺势追了下原因,发现。外部传参的数组,编译器无法正常推到数组的大小,也就出现了前面的尴尬的情况了。学C/C++的时,最熟悉的接口参数大概就是。(以下内容来自chartgtp)

2024-07-29 17:54:01 426

原创 c++ nlohman/json库

title: c++ nlohman/json库top: 42是一个方便易用的C++ json解析库。它是一个开源项目,在使用时,你只需要引入头文件more。

2024-06-06 17:20:12 438

原创 关于C++输入输出流的同步检查

实际上,这一步在大多数情况下是多余的,因为在上一步中我们已经解除了 std::cin 和 std::cout 之间的关联。这在处理大量输入输出的程序中非常有用,特别是当性能是关键因素时。这是一个全局设置,用于控制 C++ 的标准流(如 std::cin, std::cout)与 C 风格的输入输出函数(如 scanf, printf)之间的同步。时(如代码中的 0,等同于 false),C++ 的流和 C 风格的函数之间的同步被禁用,这通常可以提高性能,特别是当你主要使用 C++ 的流进行输入输出时。

2024-06-06 09:51:18 471

原创 C++ Lambda表达式

lambda表达式定义了一个匿名函数,并且可以捕获一定范围内的变量。其中capture是捕获列表,params是参数列表,opt是函数选项,ret是返回值类型,body是函数体。返回值类型:在C++11中,lambda表达式的返回值是通过返回值后置语法来定义的。参数列表(): 和普通函数的参数列表一样,如果没有参数参数列表可以省略不写。函数体:函数的实现,这部分不能省略,但函数体可以为空。捕获列表[]: 捕获一定范围内的变量。opt 选项, 不需要可以省略。

2024-06-03 09:30:53 403

原创 基于ANTLR4 C++(cmake)解析设备树文件

引导程序要初始化并且引导一个计算机系统实现多种软件模块的交互。例如Bootloaders和hypervisors(固件)程序, 他们在把控制权交给操作系统软件之前可能需要在系统硬件上做低级的初始化工作。同时,bootloaders,hypervisos能够依次加载系统并把控制权交给操作系统, 使得在软件之间的交互变的标准化、接口化并且易用。在这个文档中引导程序被用作泛指那些初始化系统状态并加载执行操作系统的程序。boot引导程序主要包括:固件、bootloaders和hypervisors。

2024-05-27 17:37:44 500

原创 ANTR4 Cpp环境配置与使用

关于ANTLR4环境配置可查看参考链接[1]more。

2024-05-24 10:39:10 601

原创 python文件加密

title: python文件加密top: 41。

2024-05-23 10:11:38 144

原创 基于ANTLR4+python解析设备树文件

引导程序要初始化并且引导一个计算机系统实现多种软件模块的交互。例如Bootloaders和hypervisors(固件)程序, 他们在把控制权交给操作系统软件之前可能需要在系统硬件上做低级的初始化工作。同时,bootloaders,hypervisos能够依次加载系统并把控制权交给操作系统, 使得在软件之间的交互变的标准化、接口化并且易用。在这个文档中引导程序被用作泛指那些初始化系统状态并加载执行操作系统的程序。boot引导程序主要包括:固件、bootloaders和hypervisors。

2024-05-22 16:03:44 698

原创 antlr4安装、环境配置和使用(python3)

这是一个利用ANTLR解析JSON转XML的案例// JSON.g4json: obj| array;obj;array;value;| '-'?| '-'?;INT;import sysbuf = "\n"buf = "\n"# listenercase.json为本例待解析处理的输入文件,文件语言为JSONJSON.g4为本例对应的ANTLR4语言描述文件为本例对应的python语言描述文件。

2024-05-21 17:57:15 3128

原创 C++关键字static与const

static 和 const 是 C++ 中两个常用关键字,它们的作用和用法有所不同。

2024-03-06 16:20:59 178

原创 vscode环境下的flex&bison

​ 定义部分包括选项、文字块、定义、开始条件和转换。其中,以空白字符开始的行将被原样拷贝到C文件中。定义部分可以包含文字块,他们是被原样拷贝到生成的C文件的开始部分的C代码,文字块存在于%{和%}或者%code中,通常包括声明#include行。声明包括%union、%start、%token、%type、%left、%right和%nonassoc。

2024-02-29 17:00:14 1604

原创 print输出颜色字

title: print输出颜色字top: 43。

2024-02-28 16:16:26 538

原创 Linux sed 命令

title: sed命令top: 43。

2024-02-28 16:14:54 498

原创 ssh基础使用

title: ssh基础使用top: 0。

2024-02-28 16:13:50 423

原创 linux常用命令

表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail”

2024-02-28 16:12:08 461

原创 makefile基础

自定义函数,不是真正的函数,本质上是多行命令没有返回值A:=123B:=$(A)echo func1endefA:=456all:A:=789### output# func1# 789 123# 789 123#### 传参 $(0)是函数名,$(1)是第一个变量A:=123echo $(0)endefA:=456all:A:=789### output# FUNC2# abc def###

2024-02-28 16:10:32 350

原创 python _、__和__xx__

top: 41。

2024-02-28 16:07:54 273

原创 mysql知识点一览

用于操作对象和对象的属性 ,这种对象包括数据库本身,以及数据库对象,像:表、视图等等。

2024-02-28 16:06:37 354

原创 hexo next 主题配置

else if(!return 1;});然后,在对应的md头部添加top: num,num为任意数字,数字大的置顶。

2024-02-28 16:02:02 1317

原创 hexo-gitee 搭建个人博客

清空已有hexo网站文件,主要表现为删除博客目录下的。

2024-02-28 15:55:59 781

原创 python字典相关操作

top: 41。

2024-02-28 15:52:42 400

原创 c++基础

title: C++top: 43date: 2021-09-05tags:注释// 单行注释多行注释常量:定义宏常量:静态变量关键字(保留字)asmdoifreturntypedefautodoubleinlineshorttypeidbooldynamic_castintsignedtypenamebreakelselongsizeofunioncaseenummutablestaticunsign

2024-02-28 15:51:22 606

原创 vscode+msvc+cmake环境配置

top: 41。

2024-02-28 15:20:39 1043

原创 八皇后问题

从学C语言开始,就对递归算法有着困惑性。这些天弄论文,没摸算法和代码,又开始新一轮的蜜汁困惑。递归算法,或许想成用树遍历会更好理解一些。先前接触的关于递归的知识也没做记录,代码还堆在那里,也懒得去整理了,等以后闲了想起来再说吧-_-

2024-02-26 14:06:24 787

原创 Git使用简述

title: Git使用简述top: 21。

2024-02-26 14:01:24 847

原创 Golang基础

取地址操作符。

2024-02-26 13:56:10 478

原创 设计模式 & python

提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。

2024-02-26 13:48:59 1403

原创 python生成器进阶

title: 生成器进阶top: 43gen.send()more。

2024-02-25 15:53:27 144

原创 python process&thread

top: 43。

2024-02-25 15:51:35 1564

原创 IO多路复用

title: IO多路复用top: 43。

2024-02-25 15:50:06 810

原创 logging模块

日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)。

2024-02-25 15:46:32 714

原创 linux下python安装

title: linux下python安装top: 45。

2024-02-25 15:45:01 246

原创 sys._getframe获取函数名与调用者名

title: python–sys._getframe获取函数名与调用者名top: 43more。

2024-02-25 15:44:13 799

原创 socket编程

socket

2024-02-25 15:42:23 781

原创 python魔法方法

title: python魔法方法top: 43。

2024-02-25 15:39:40 749

原创 python国内镜像源

title: python镜像源top: 42。

2024-02-25 15:35:52 285

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除