自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WSL2 Ubuntu 安装 linux perf tool

由于ubuntu软件包镜像源里没有wsl2版本的perf tool因此需要我们自己编译安装。

2024-04-06 23:17:26 167

原创 函数调用过程探究

栈与寄存器,函数调用约定

2023-10-05 10:55:33 94

原创 C++运行时多态

运行时多态和静态多态都是多态的具体实现方式。静态多态也称为编译时多态,是指在编译时就能确定调用哪个方法。静态多态的实现方式主要是方法重载。方法重载指的是在同一个类中定义多个方法,这些方法具有相同的名称但参数列表不同。在调用方法时,编译器会根据传入的参数类型来确定要调用哪个方法。因为方法重载是在编译时决定的,所以它也被称为静态多态。运行时多态也称为动态多态,是指在运行时才能确定调用哪个方法。运行时多态的实现方式主要是方法重写。

2023-05-17 10:14:17 548

原创 一个GCC抽象语法树可视化工具

选项生成的 .orignal 文件转换成能被 graphviz 用来生成图片的 dot 文件。此工具经测试gcc10和gcc12都可用,太久远的版本可能不适用。然后使用 dot -Tpng ast.dot -o ast.png。命令生成 AST 图;(需要安装 graphviz)这是我用C++编写的工具。

2023-05-13 14:29:05 535

原创 gcc的AST是如何表示结构体类型和结构体变量的

以@27节点为例,节点包括type、op 0和op 1。其中,@17是表示成员类型的节点,@5是表示成员访问的对象(即结构体或联合体指针)的节点,@23应该是表示成员名称或索引的节点。需要注意的是,在某些情况下,component_ref节点也可以用于访问数组元素。此时,op 1节点通常表示数组元素的下标。本例中结构体类型s有两个字段x和y,分别对应@23和@43两个field_decl节点。是表示结构体类型的节点类型。@10的flds字段指向@23 field_decl节点。在GCC的AST中,

2023-05-12 13:42:08 384 2

原创 如何用gdb调试gcc的各个执行过程(支持调试lto)

如何调试gcc的lto,这是一个chatgpt和Bing都不知道答案的问题,经过我几天的尝试终于成功了,步骤如下。-save-temps则保留编译过程中生成的临时文件以备调试时使用。其中主要的临时文件生成在当前目录。–verbose选项输出的这个文件记录了gcc编译的整个过程。如果我们要调试预处理后的编译过程,那我们在gdbfile中找到。大部分cc开头的临时文件则在/tmp(绝对路径)文件夹下。将.i文件编译成.s文件的那一行,生成的gdbfile文件如下。如果要调试lto过程,则找到。

2023-05-11 17:53:58 576 1

原创 如何在Linux平台编译安装gcc

编译安装gcc

2023-05-11 16:51:42 2881

原创 win10下RTX3060配置CUDA,并安装带有GPU支持的tensorflow

踩过了好多坑之后我只能说网上的大部分教程都太老了,不适合RTX30系显卡,其实正确的方法比那些老方法简单的多,重要的是你显卡是新的,软件版本也一定要新一、安装CUDA与CUDNN1首先确保你已经安装了新版的nvidia图形驱动程序。其次你得有C/C++编译环境,没有的话装一个Visual Studio或MinGW。2 安装CUDA Toolkit 11.33 下载CUDNN 11.3,将解压后的全部文件复制到CUDA的安装目录中(默认:C:\Program Files\NVIDIA GPU Comp

2021-06-11 13:51:42 7231 6

原创 LAMP WordPress建站指南

虽然操作并不难,但用到的各种命令,各种坑的解决方法还需要记一下软件安装配置本文假设已root用户操作,否则请使用sudo指令更新apt updateapt upgradeApache2的安装有的系统预装的有Apache2,如果没有apt install apache2service apache2 start此时在浏览器地址栏输入你的IP便能看到Apache2的默认页面了MySQL的安装apt install mysql-server有的版本在安装过程中会提示你设置root用户的密

2021-04-30 17:38:29 114 1

空空如也

空空如也

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

TA关注的人

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