- 博客(573)
- 收藏
- 关注
原创 LLVM 一些在老版本 LLVM 是 warning,在新版本 LLVM 是 error 的报错
网页:https://www.redhat.com/en/blog/new-warnings-and-errors-clang-16。
2024-04-29 17:37:49 318
原创 git 如何向仓库上传大文件?large file storage lfs(超过 100M)
第一个网页说明了:git 免费版本支持的大文件最多 2G。第二个网页说明了 git lfs 的具体操作方法。
2024-04-28 13:45:06 135
原创 (done) 什么是 SVD 奇异值分解?什么是 TruncatedSVD 截断奇异值分解?
来源:https://www.bilibili.com/video/BV16A411T7zX/?
2024-04-23 23:38:26 121
原创 (done) 什么是正交矩阵?
来源: https://baike.baidu.com/item/%E6%AD%A3%E4%BA%A4%E7%9F%A9%E9%98%B5/407284?A=E,则n阶实矩阵A称为正交矩阵 [1]。表示“矩阵A的转置矩阵”)或A。正交矩阵的列是一个标准正交集。=E(E为单位矩阵,A。
2024-04-23 23:36:49 82
原创 什么是 PMI ? Pointwise mutual information. 点间互信息
其实基本就是用来表达两个词汇之间的关联性 (它们一起出现的概率)
2024-04-23 20:19:23 62
原创 使用 python, wget, curl 三者结合,制作一个爬虫(批量从镜像站点下载包)
【代码】使用 python, wget, curl 三者结合,制作一个爬虫(批量从镜像站点下载包)
2024-04-18 01:09:59 109
原创 wget 和 curl 分别有什么作用?(linux 上一些和网络有关的常用命令)
这个命令一般用来下载东西,下载的是那些 “点击就能下载的东西”可以得到网页的 html 源码。
2024-04-17 22:49:29 109
原创 TexStudio + MikTex 手动安装宏包
遇到上面这个 “宏包安装” 提示窗口后,设置来源为本地,随后在这个网址。下载所需的宏包,放到本地仓库里,即可。
2024-04-17 21:19:57 223
原创 windows 如何安装 perl ?
链接:https://strawberryperl.com/我们选择安装 “草莓 perl”下载后根据引导安装就行了。
2024-04-17 20:26:37 201
原创 python3 正则表达式 re 包中,re.match 和 re.search 的差别?
举个例子,如果你要匹配字符串 “abcde” 中的 “bcd”,使用 re.match() 将返回 None,因为 “bcd” 不在字符串开头;re.match() 和 re.search() 是 Python 中用于正则表达式匹配的两个函数,它们之间的主要差别在于匹配的起始位置和作用范围。这个方法尝试从字符串的起始位置匹配模式,如果字符串的起始部分就能匹配成功,就返回一个匹配对象;因此,re.match() 只匹配字符串的开头部分,如果你想要匹配整个字符串,需要确保模式从字符串的起始位置开始。
2024-04-17 13:33:30 128
原创 LLVM 插桩遇到奇怪bug(比如死循环),但是又没有足够的报错信息怎么办?
1.首先给编译命令加上 -emit-llvm -S 选项,先测试插桩步骤是否出问题。通常来说,这一步会给出更多报错信息,帮助我们 debug。
2024-04-16 22:33:20 147
原创 LLVM 插桩 LLVM IR LandingPadInst Invoke 指令
总结一下,就是说,如果有 LandingPadInst 指令,那么它必须是一个基本块的第一个非phi指令。根据 CHATGPT4。
2024-04-16 22:30:49 161
原创 (u) ghidra 反汇编可执行文件报错:Only DWARF version 2, 3, or 4 information is currently supported (detected 5).
ghidra 反汇编可执行文件报错:Only DWARF version 2, 3, or 4 information is currently supported (detected 5).分析原因:clang-17 使用了 DWARF5 版本,这个版本无法让 ghidra 解析。尝试了给 clang 加上 -gdwarf-4/3/2 选项,无用。TODO: 解决方案尚未找到。
2024-04-15 11:47:44 121
原创 ISO C99 and later do not support implicit function declarations
具体看这篇文章:https://www.redhat.com/en/blog/new-warnings-and-errors-clang-16。有一些错误,在使用 clang-9 时不会触发,而在使用 clang-17 时会触发。这是因为,更先进的 C 标准把一些本来是 warning 的东西升级成了 error。
2024-04-15 00:00:16 270
原创 ubuntu20.04 xxxx is not in the sudoer file error
首先使用 su 命令提升到 root 权限,然后输入下面的命令。
2024-04-13 19:22:43 89
原创 VBOX ubuntu20.04 安装好后无法启动 terminal 是什么原因?
先点开 Settings ----> Region & Language , 如下。把系统的语言和地区设置成一致的,然后重启即可。这种情况通常是 字符问题。
2024-04-13 18:16:11 196
原创 error: aggregate value used where an integer was expected
C语言的类型强制转换只有在数量类型之间才能进行转换,结构类型(包括 union,struct)不是数量类型(Scalar Type),无法进行强制转换;参考这个博客:https://blog.csdn.net/swj9099/article/details/81359690。原文链接:https://blog.csdn.net/swj9099/article/details/81359690。数量类型包括算术类型和指针类型,算术类型由包括整数类型和浮点类型。可以用union来代替数据转换。
2024-04-12 13:35:46 119
原创 使用 ghidra 无法通过 ghidra script 或者 binary 的 CFG 时,可能的错误:没有分析 binary
点击左上角的 Analysis。
2024-04-08 12:47:36 433
原创 C 语言中的 end, _end 符号
这些符号不是在 C 语言文件和头文件中定义的,它们是 ld 在链接所有 .o 文件的时候自己添加的。end 和 _end 的地址,就是最终程序的堆的起始地址。可以看到相关符号的解释。
2024-04-06 22:51:17 342
原创 int brk(void *addr); 和 void *sbrk(intptr_t increment); 这两个函数分别有什么作用?
描述如下:(这段英文挺好读的,没必要翻译了)
2024-04-06 21:57:53 108
原创 查阅Linux中已经实现的系统调用 syscall system call
【代码】查阅Linux中已经实现的系统调用 syscall system call。
2024-04-06 15:43:23 112
原创 查阅不同架构的系统调用约定, 包括参数传递和返回值 ABI call convention calling convention syscall systemcall
【代码】查阅不同架构的系统调用约定, 包括参数传递和返回值 ABI call convention calling convention syscall systemcall。
2024-04-06 15:42:22 118
原创 关于 elf loader 的编写
在编写 elf loader 的时候,实际上只有下图这一部分 “Program Headers” 是有用的。所以,只要把这些部分加载进内存里,再跳转到 entrypoint 就完事了,是不是很容易啊?凡是类型为 “LOAD” 的就是需要加载进内存的部分。可以使用如下命令观看 elf 文件的信息。
2024-04-06 15:10:56 224
原创 ld 链接器默认把 _start 函数作为 entrypoint
来源:https://www.gridbugs.org/if-you-use-a-custom-linker-script-_start-is-not-necessarily-the-entry-point/也就是说,ld 把程序入点放到了 <message> 这个字符串常量,这显然是有问题的。根据这个警告 warning,ld 把程序入点设置在了 0x401000。因此,_start 符号是必要的,除非我们编写自己的链接脚本。我们用 objdump -d 看一下反汇编结果,如下。
2024-04-06 11:59:59 187
原创 C语言 ((void)0); 是啥意思?
参考:https://stackoverflow.com/questions/2198950/why-is-void-0-a-no-operation-in-c-and-c。就是一个占位符、合法、不执行任何操作。
2024-04-05 22:10:06 88
原创 操作系统中常常提到的 PCB 是什么?进程控制块
为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。来源:https://baike.baidu.com/item/PCB/16067368?
2024-04-05 17:14:39 324
原创 什么是 libtool?
来源:https://en.wikipedia.org/wiki/GNU_Libtool。大概的意思就是:这是一个跨平台的 C 编译构建工具。
2024-04-01 20:34:40 201
原创 解决Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“
来源:https://blog.csdn.net/xianjianwu1/article/details/129908678。
2024-03-31 22:49:19 119
原创 #error is_trivially_destructible is not implemented
如果遇到依赖问题,可以参考这个博客 [apt apt-get dependency 依赖问题 libc+±9-dev : Depends: libc++1-9 (= 1:9.0.1-12) but it is not going to]如果还是不行 (比如使用的编译器是 clang,同时使用了如 -stdlib=libc++, -lc++ -lc++abi 之类的选项)通常安装好了 libc++ 和 libc++abi 的依赖,就能正常编译了。那这个时候有可能是某些依赖没安装好。
2024-03-30 21:27:00 193
原创 apt apt-get dependency 依赖问题 libc++-9-dev : Depends: libc++1-9 (= 1:9.0.1-12) but it is not going to
具体来说,libc+±9-dev 需要 libc++1-9 版本 1:9.0.1-12,但后者出于某种原因不能被安装。这类依赖问题在Linux系统上相对常见,通常是由包管理器无法解决的依赖冲突、版本不匹配或软件源配置错误引起的。确保你的软件源(repositories)配置正确,并且包括了包含你试图安装包的官方或第三方源。请记住,在尝试手动解决依赖问题时,要小心,因为不正确的操作可能会破坏系统的包管理状态。确保你的包管理器(如apt)的包索引是最新的。有时,直接尝试安装缺失的依赖包可以解决问题。
2024-03-30 21:15:50 176
原创 使用 apt-get 安装一些 LLVM 相关的依赖 还有 LLVM 本身 以及安装老版本 LLVM
首先找到 ubuntu 这栏,把红圈圈起来的四行拷贝进 /etc/apt/sources.list 里,随后 sudo apt-get update。这个网页包含着如何使用 apt-get 安装 LLVM 相关依赖以及工具的说明。2.安装必要的组件,比如 clang-17 之类的。网页:https://apt.llvm.org/下面是一个例子,比如我们要安装 llvm17。3.再根据需要安装一些关键包。1.获取文档签名的其中一个。再运行下面这张图的命令。
2024-03-30 21:00:00 177
原创 确认自己系统 gcc 支持的 C++ 版本
来源:https://stackoverflow.com/questions/34836775/compiler-standards-support-c11-c14-c17。下面这个命令可以打印 gcc 支持的 C++ 版本。
2024-03-30 19:58:53 102
原创 确认自己系统 clang 支持的 C++ 版本
来源:https://stackoverflow.com/questions/49012223/clang-reliably-detect-supported-c-standard-from-command-line-or-python。两个命令的复制粘贴版在下面。答案来源的图片如下图。
2024-03-30 19:55:51 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人