- 博客(487)
- 资源 (4)
- 收藏
- 关注
转载 windows10系统安装全过程
因为重启时U盘插在电脑上,此时就会自动为U盘的分配一个驱动号,默认是从C开始的,C驱动号已经被系统盘占用了,所以会给该U盘分配驱动号D。10.点击驱动器会出现"新建"操作,点击"新建"输入给系统盘分配的大小,最后点击"应用"(这里的大小就是C盘的大小,识实际情况分配大小即可,我这里是150G)未分配的空间先不用管,安装完成进入图形界面后在处理。(我们的电脑都是有网卡驱动的,所以可以链接到无线wifi),因为连接网络后win10会自动更新硬件驱动,兼容性相比较使用第三方驱动软件还算比较好的。
2024-04-19 21:43:37
22054
2
转载 C语言的数组长度能用变量指定吗?
C89即ANSI C,ANSI:美国国家标准学会(American Natinal Standards Institute)C90即ISO C,ISO:国际标准化组织(International Standard Organization)ANSI C 和 ISO C是完全相同的标准,ANSI C最终版本于1989年被批准,故叫C89。ISO C最终版本于1990年被批准,故叫C90。必须是自动变量,即:不能使用static、extern关键字修饰。
2024-03-30 19:40:37
908
转载 Valgrind Memcheck 源码分析
Valgrind是用于构建程序动态分析工具的重量级插桩框架。目前Valgrind内置的工具,可用于检测内存管理和线程竞争等等过程中产生的问题,更快速、更准确和更详细地分析所需的程序。其中,Memcheck是valgrind应用最广泛的工具。它是一个重量级的内存检查器,能够发现C或者C++在开发过程中绝大多数导致程序崩溃或者不可预知的行为的内存相关的错误,比如:使用未初始化的内存、使用已释放内存、内存访问越界等。
2024-03-14 14:54:15
318
转载 【Linux 创建临时文件 API】编程中的瞬息之光:临时文件的艺术与智慧 tmpnam,tmpfile,mkstemp,mkdtemp等函数解析...
因此,当 str 不为 NULL 时,我们需要确保这个笔记本(数组)有足够的空间来容纳这个路径名,至少要有 L_tmpnam 长度的空间,这个长度是在 stdio.h 文件中定义的常量。在这个过程中,我们不难发现,tmpnam 函数像是我们的记忆,每次调用它都会生成一个新的名字,但如果不将其记录下来,旧的记忆就会被新的覆盖。临时文件,尽管它们的生命周期短暂,但正确和智慧地使用它们,可以在确保效率和安全性的同时,大大简化程序的复杂性。存储方面,应当将临时文件放置在适当的目录中,如系统的临时文件夹。
2024-02-29 22:13:40
221
转载 linux之Oops原理及解析
什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Linux内核也会抱歉的对我们说:“哎呦(Oops),对不起,我把事情搞砸了”。
2024-02-27 15:45:59
1171
转载 C语言--backtrace调用栈信息解决程序崩溃问题总结
有上面的认识后那我们就只需要得到此次libadd.so的加载地址然后用0x7f85839fa5c6这个地址减去libadd.so的加载地址得到的结果再利用addr2line命令就可以正确的得到出错的地方;当这些换到Linux上的C/C++环境时情况将变的稍微复杂一些,通常在这种情况下是通过拿到出问题时产生的core文件然后再利用gdb调试来看到出错时的程序栈信息,这是再好不过的了,但当某些特殊的情况如不正确的系统设置或文件系统出现问题时导致我们没有拿到core文件那我们还有补救的办法吗?
2024-02-26 22:59:03
1033
转载 【YAML】YAML语言|YAML配置文件|YAML库用法|相比json的区别优势
YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。它非常适合用来做以数据为中心的配置文件。
2024-02-04 00:17:21
1187
转载 Valgrind——memcheck内存泄漏分析
valgrind 官网 https://www.valgrind.org/valgrind 是 Linux 业界主流且非常强大的内存泄漏检查工具。在其官网介绍中,内存检查(memcheck)只是其其中一个功能。valgrind 默认使用 memcheck 去检查内存问题。valgrind是用于构建动态分析工具的仪器框架。它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结构。
2024-02-01 15:56:18
1901
转载 无法访问GitHub,原因以及快速解决办法
综上所述,出现无法访问GitHub的情况,可能是因为网络层面的问题、GitHub本身问题或者个人设备问题,需要通过排查来找出具体的原因并采取相应的解决方案。DNS是一种用于将网址转换为IP地址的工具,如果你的电脑无法访问GitHub,那么很有可能是因为DNS出现了问题。如果GitHub出现以下问题,可能对你的访问造成访问影响。浏览器问题可能导致你的电脑无法正常访问GitHub,解决方法包括清除缓存、重启浏览器或者使用其他浏览器尝试访问。最后,还有可能是你的个人设备存在问题,导致你无法访问GitHub。
2024-01-25 23:25:51
24928
2
转载 windows上使用git仓库的问题(换行符、文件权限、软链接)
nix系统对拥有者、组、其他几种用户都有明确的读写执行权限,这些在windows上没有对应的机制,这个问题在使用git时表现为没有修改文件却出现很多modified的文件,git status显示 typechange。这可能是最让人头疼的问题,在*nix系统里我们经常会使用ln来给文件和文件夹设置软链接,而这些软链接到windwos就失效了,不能进行导航,ide也不识别,如果有关键文件夹设置了软链接,仓库在windows上就基本不可用了。考虑国内访问github速度,贴出脚本如下,在仓库根目录执行。
2024-01-17 23:27:45
344
转载 cppcheck,代码简单分析,以及实现一个简单的模块
这个工具,会将一个源文件(目前我是用单一源文件测试的,没有使用目录测试),每一个有效符号或者元素都解析出来,之后储存在一个大list里面,供后续模块检测时使用,
2024-01-06 13:42:06
363
原创 Cppcheck(C/C++ 静态代码检测工具)
Cppcheck是一个用于C/C++代码的静态分析工具,它可以帮助开发者检测代码中的错误。Cppcheck可以检测出许多类型的错误,包括语法错误、未使用的函数、内存泄漏、未初始化的变量等。此外,Cppcheck还支持用户自定义规则,这使得开发者可以根据自己的需求定制Cppcheck的行为。
2024-01-02 19:24:44
4809
原创 可见性、有序性、原子性
同样,写入数据的顺序也一样。程序不一定是按照顺序执行的,为了提高CPU的利用率,让CPU尽可能多的工作,CPU会在某些语句当中选择"乱序执行"。有,即便是只有单核CPU,在一些比较耗时的操作例如等待网络响应,等待IO等操作时,CPU也是处于待机阶段,如果在这段时间里,有其他线程可以把这个空闲时间利用起来,CPU的利用效率是特别高的,会比单线程执行更快。在修改数据的值时,会首先读一下要修改数据的原值,之后在执行修改操作前看看刚才读的值和内存中现在存储的值相不相同,如果不相同,返回false,不进行操作。
2023-12-27 23:37:40
471
转载 离线安装python依赖包-以离线安装pylint为例
方法1:在联网环境下,pip安装pylint时,会自动下载需要的一些依赖包。以下是VS code中安装pylint的截图,红框所指即为自动下载依赖包的提示。方法2的缺点:如果你的联网环境安装了其他包,可能就不好明确知道pylint需要哪些包,以及这些包的安装(依赖)顺序。同样在离线环境中我们也可以执行pip list来查看当前python中安装的包,两相对比就可知道缺少哪些依赖包。根据2中截图,依次安装这些包(依次安装时因为这些包之间可能也有依赖)。将3中的依赖包拷贝到离线环境中,然后按顺序安装。
2023-05-12 13:54:13
929
原创 SCSI、ISCSI、iSER、NVMe、NVMe-oF、NVMe-oF over RDMA
SCSI、ISCSI、iSER、NVMe、NVMe-oF、NVMe-oF over RDMA
2023-03-03 21:35:58
2103
转载 伽罗华域(Galois Field)上的四则运算
http://abcdxyzk.github.io/blog/2018/04/16/isal-erase-3/
2023-01-11 10:53:25
1909
转载 valgrind 详解
Valgrind 是一套 Linux 下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind 由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个 CPU 环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。
2022-11-24 18:56:09
552
转载 【Linux】Valgrind工具集详解
Valgrind是用于构建动态分析工具的仪器框架。它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结构。
2022-11-24 18:27:14
1017
转载 Linux下内存检测工具:asan
ASAN(Address-Sanitizier)早先是LLVM中的特性,后被加入GCC 4.8,在GCC 4.9后加入对ARM平台的支持。因此GCC 4.8以上版本使用ASAN时不需要安装第三方库,通过在编译时指定编译CFLAGS即可打开开关。
2022-11-24 10:05:58
1924
转载 Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的“+“号)
Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的"+"号)
2022-11-06 22:33:31
1292
给Linux中的cp和mv命令中添加进度条的高级拷贝
2020-11-27
Nmap用法及原理详解
2020-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人