C语言
文章平均质量分 57
zhaoseaside
树立个人IP,探索副业可能
展开
-
深入 C 语言和程序运行原理 实战项目代码在CentOS 7上编译
看到操作系统的版本是uname -r可以看到内核版本是。原创 2023-12-01 23:10:14 · 363 阅读 · 0 评论 -
Linux系统64位AT&T系统调用汇编指令syscall
在Linux中syscall是系统调用)的指令。想要深入了解syscall的作用,就需要了解特权级别。现代计算机通常采用名为的机制来保护整个系统的数据和功能,使其免受故障和外部恶意行为的伤害。这种方式通过提供多种不同层次的资源访问级别,即特权级别,来限制不同代码的执行能力。Intel x86 架构中,特权级别被分为 4 个层次,即Ring0Ring3。其中,Ring0层拥有最高特权,它具有对整个系统的最大控制能力,内核代码通常运行于此。相对地,Ring3。原创 2023-10-24 23:24:14 · 1139 阅读 · 0 评论 -
C语言的前置知识:数据量单位、汇编语言和寄存器
位(bit)是计算机中最小的存储单位,每一位可以存储一个二进制码值的0或1。而字节(byte)则通常是由八个位组成的一个存储单元。在计算机中,字节是最小的可寻址单位,这意味着 CPU 在使用数据时,可以以字节为单位,为每一字节内存分配一个相应的独立地址。字(word)的概念就没有这么清晰了。字的大小并不固定,一个字的大小可能是 2 的幂次个位,比如 16 位、32 位,也有可能是 12 位、27 位等一些并不常见的大小。原创 2023-11-04 22:53:20 · 192 阅读 · 0 评论 -
gcc中-I(大写的i)参数的作用
参数可以帮助找到头文件的目录,比如在当前目录下有一个名为。是我参考的一篇博客。原创 2023-10-01 16:18:06 · 1545 阅读 · 0 评论 -
CentOS 7.6源码安装gdb 12.1
看到有多条记录,其中第1条和第4条是关于这次操作的。直接精确匹配,发现还有两条记录,就说明。里边的没有报错信息,就可以进行安装了。只看到一条输出,那就是解压完成了。发现有两条记录,说明正在编译中。最后三十行内容发现没有报错,后台进行配置和安装依赖检测,只有一条记录的时候,再结合。把原先编译的结果都删除。进入到源代码目录里边。可以看到只有一条记录,原创 2023-09-03 11:17:27 · 389 阅读 · 0 评论 -
CentOS 7.6源码安装cmake 3.25.3
发现确实没有GLIBCXX_3.4.29、GLIBCXX_3.4.26、GLIBCXX_3.4.20和GLIBCXX_3.4.21。将libstdc++.so.6备份成为libstdc++.so.6-bak。直到如下图显示100%的进度才算完成。进行解压,没有任何输出就是解压成功。,若是显示版本号就是安装成功。看一下Linux发行版本。进入到刚刚解压的目录下。找一下编译过的动态库。进入到源代码的目录下。原创 2023-04-14 23:27:56 · 885 阅读 · 1 评论 -
gdb堆栈相关命令
此文章为3月Day 31学习笔记,内容来源于极客时间。原创 2023-03-31 14:34:51 · 555 阅读 · 0 评论 -
gdb展示数据
显示loopTotal的值,因为断点停留“int loopTotal = 10;”前,所以loopTotal里边还是一个垃圾值,并不是10。此文章为3月Day 30学习笔记,内容来源于极客时间。再次显示loopTotal这个变量的值就是正确的。可以在每次运行到断点的时候,显示变量的值。显示出loopTotal是int类型,显示出来sum是float类型。看一下第1行到第10行代码,就在sum改变的时候显示值。显示所有设置的断点。whatis 变量名。可以看出变量的类型,进入到for循环中,原创 2023-03-30 19:01:15 · 102 阅读 · 0 评论 -
gdb学习删除断点delete/clear和断点暂停disable
就是删除所有断点的意思,输入“y”就会删除所有断点。此文章为3月Day 29学习笔记,内容来源于极客时间。就是删除第1个断点,要是删除没有的断点,就会提示。开始调试后,发现直接到了第4个断点处。暂停断点,经过断点时不停止。上边的代码使用编辑器保存成。上边的代码用编辑器保存成。进入到gdb调试里边。展示一下设置的断点。删除的是第2个断点。原创 2023-03-29 23:24:39 · 2042 阅读 · 0 评论 -
gdb设置断点实战
此文章为3月Day 28学习笔记,内容来源于极客时间。上边的代码使用编辑器保存成。上边的代码用编辑器保存成。原创 2023-03-28 19:49:58 · 447 阅读 · 0 评论 -
gdb传递main方法的入参并使用条件设置断点
函数的参数传到程序中,注意“–args”后边已经要跟着有main函数的可执行文件。此文章为3月Day 27学习笔记,内容来源于极客时间。将“I love the world”字符当成。或者其他编辑器,保存成。进行输出调试信息编译。原创 2023-03-27 23:40:55 · 812 阅读 · 0 评论 -
gdb安装
将源代码翻译成二进制文件,然后使用。上边是用来调试的代码。原创 2023-03-25 22:48:34 · 155 阅读 · 0 评论 -
CentOS从gcc 4.8.5 升级到gcc 8.3.1
使用reboot开机重启之后,发现gcc还是原来的版本——4.8.5,使用。安装centos-release-scl-rh。安装devtoolset-8-build。显示“Complete!安装devtoolset-8-gdb。,就发现gcc已经升级到了8.3.1。可以启动gcc 8,然后再次输入。可以将gcc版本变成8.3.1。终于从一开始就显示8.3.1。放到文件profile末尾。重启,等着打开计算机之后,发现版本还是4.8.5。重新启动CentOS。查看当前gcc版本。显示还是原来的版本。原创 2023-03-25 22:07:49 · 1081 阅读 · 0 评论 -
阿里云服务器CentOS 7.9.2009使用源码从gcc 8.3.1升级至gcc 11.3.0
gcc使用源码升级至11.3原创 2023-02-28 00:24:49 · 1294 阅读 · 0 评论 -
腾讯云轻量服务器上CentOS 7.6使用C语言连接MySQL和查询MySQL
我这里已经把MySQL服务器装好了,然后我开始使用sudo yum install mysql-devel安装MySQL开发工具。接下来进行建立数据库、建表和插入数据:-- 进入到mysql命令行-- mysql -u root -p-- 输入密码-- 建数据库语句,库名是“school”create database school;-- 使用school这个数据库use school;-- 建表语句,表名是“student”CREATE TABLE student( n原创 2022-02-26 18:18:07 · 7267 阅读 · 0 评论