- 博客(9)
- 收藏
- 关注
原创 WSL2 Ubuntu 安装 linux perf tool
由于ubuntu软件包镜像源里没有wsl2版本的perf tool因此需要我们自己编译安装。
2024-04-06 23:17:26
301
1
原创 C++运行时多态
运行时多态和静态多态都是多态的具体实现方式。静态多态也称为编译时多态,是指在编译时就能确定调用哪个方法。静态多态的实现方式主要是方法重载。方法重载指的是在同一个类中定义多个方法,这些方法具有相同的名称但参数列表不同。在调用方法时,编译器会根据传入的参数类型来确定要调用哪个方法。因为方法重载是在编译时决定的,所以它也被称为静态多态。运行时多态也称为动态多态,是指在运行时才能确定调用哪个方法。运行时多态的实现方式主要是方法重写。
2023-05-17 10:14:17
722
1
原创 一个GCC抽象语法树可视化工具
选项生成的 .orignal 文件转换成能被 graphviz 用来生成图片的 dot 文件。此工具经测试gcc10和gcc12都可用,太久远的版本可能不适用。然后使用 dot -Tpng ast.dot -o ast.png。命令生成 AST 图;(需要安装 graphviz)这是我用C++编写的工具。
2023-05-13 14:29:05
727
原创 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
544
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
753
1
原创 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
7534
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
143
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人