自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 C语言里面的中断程序:“exit()”和“return返回”

摘要:《C Primer Plus》示例代码films3.c中,初始化阶段使用exit(EXIT_FAILURE)处理内存分配失败这类致命错误,以立即终止程序;而main函数末尾用return 0表示正常结束。exit()会强制终止整个程序,适合处理不可恢复错误;return则从当前函数返回,在main中使用时效果与exit()相似但语义更清晰。两者都会执行清理操作,但exit()可在程序任何位置调用实现全局终止,体现了防御性编程思想。

2026-01-08 17:10:54 276

原创 C语言数组初始化

C语言数组声明要点总结:1) 数组大小必须为正整数,不能为0;2) 声明时必须指定大小或提供初始化列表;3) 二维数组必须指定列数,行数可推断;4) 函数参数中的数组声明等价于指针;5) 未完全初始化的数组元素自动补0。例如int a[][3]={0}会创建1行3列的数组,等价于{{0,0,0}}。

2026-01-07 17:31:12 149

原创 经典数据结构练习题:链表实现2个多项式的合并

经典数据结构教材如严蔚敏《数据结构》、《算法导论》等都将链表实现多项式运算作为标配例题。该练习的经典性体现在:多项式天然稀疏,链表能高效存储非零项;加法操作完美展示有序链表合并过程,需处理同次项系数相加和零系数节点删除;难度适中,全面考察链表基本操作和边界处理。这道题常见于大学课程实验、考研真题和编程面试,是数据结构学习的经典范例。

2026-01-07 14:22:48 691

原创 关闭VS Code中的GitHub Copilot部分功能,降低远程开发机服务器的CPU内存使用率

如果你想完全关闭自动建议,可以试着禁用 “All files” 或使用命令面板搜索 “Copilot toggle” 来切换。启用后,Copilot 会考虑整个项目中的所有文件来生成更广泛、更上下文相关的代码补全建议(包括跨文件的影响)。禁用它可以限制建议范围,减少干扰(有些用户通过禁用这个来关闭自动 ghost text 建议,只用手动触发)。截图中用蓝色方块标记,可能表示当前文件是 C 语言(或刚好是当前模式),这是 Copilot 的高级功能(简称 NES),它不只补全当前光标处的代码,

2025-12-28 13:53:34 510

原创 本地下载vscode server安装包(tar.gz)然后上传至服务器开发机

本文介绍了在无网络环境下安装VS Code Server的离线方法。步骤包括:1)从日志获取Commit ID;2)在有网机器下载对应版本的server文件(约70MB);3)通过scp传输到目标机器;4)创建指定目录并解压文件(注意新版和老版的路径差异);5)重新连接VS Code Remote-SSH验证安装。还提供了解决常见问题的建议,如删除旧目录、使用镜像源加速下载等。该方法可绕过VS Code自动下载服务器的步骤,适用于网络受限环境。

2025-12-28 13:38:12 401

原创 C语言函数的双循环里面的return语句会直接退出双循环并返回

return语句会直接终止整个函数执行,而不仅仅是退出当前循环。示例代码演示了在二维数组中查找目标值时,一旦找到就立即通过return返回结果,后续循环不再执行。这与break仅退出单层循环不同。若只需退出多重循环而不终止函数,需使用标志变量或goto语句。该机制可有效提高程序执行效率,避免不必要的循环操作。

2025-12-28 13:14:13 167

原创 程序崩溃free(): double free detected in tcache 2

文章摘要: 通过分析core文件的内存片段,可以追踪程序崩溃前的执行路径。尽管没有使用-g编译选项,但仍可通过以下方法定位问题: 利用strings命令提取core文件中的字符串信息,搜索关键函数名(如list_destroy)和相关日志; 根据程序输出缓冲区的残留日志顺序推断崩溃点; 从printf格式化字符串中推断数据结构内容。 分析发现程序在list_destroy函数执行过程中发生了double free错误。这是由于GLIBC内存管理器检测到重复释放内存所致。核心文件中同时保留了.rodata段和

2025-12-23 18:03:03 279

原创 gcc/g++ err: 警告: 数据定义时没有类型或存储类/data definition has no type or storage class

摘要:GCC编译C代码时出现"数据定义无类型或存储类"警告,通常由隐式int规则(C99已禁止)或全局变量初始化错误导致。解决方法包括显式声明函数返回值类型和使用严格编译选项。另一常见错误是"double free detected in tcache 2",表明程序多次释放同一内存块,可能因指针操作错误或链表销毁逻辑不当引起。建议使用Valgrind、AddressSanitizer等工具调试,并在free后置空指针。这些错误提示均反映代码中存在需要修复的内存管理问

2025-12-22 20:06:08 318

原创 安卓里运行Linux

摘要:三款安卓运行Linux的实用工具推荐:UserLAnd适合新手一键安装Ubuntu等系统;Andronix提供优化版系统,部分付费功能;AnLinux完全开源免费。均支持命令行和VNC图形桌面(XFCE/LXDE),利用PRoot技术无需root,适合开发、服务器模拟等用途,简单易用。(149字)

2025-12-22 18:01:55 242

原创 c/c++指针回填(Pointer Backpatching)

指针回填是编程中预留指针位置后续填充的技术,主要用于编译器跳转地址处理、数据结构构建(如链表/图节点连接)和动态链接场景。其核心是先创建指针占位,待目标地址确定后再回填,适用于无法一次性确定所有指针指向的情况。

2025-12-15 16:46:20 216

原创 “链表按索引插入”在业界用的多吗?

摘要:高性能C编程中,链表通常用于O(1)的头尾插入操作,而非按索引插入(O(N))。Linux内核链表不存储长度,通过节点指针操作;Redis链表虽存储长度但主要使用头尾插入API。工程建议:定义包含长度的链表结构体以便快速判断越界和获取长度,而简单练习中可通过遍历判断边界。多数开源项目避免提供按索引插入的API,强调选择合适数据结构的重要性。

2025-12-15 14:45:58 140

原创 ps aux|grep pid 和 ps -p pid 的区别

Linux 命令 ps -p 和 ps aux | grep 都能查看进程信息,但存在关键区别。ps -p 直接通过 PID 精确查找进程,输出简洁高效;而 ps aux | grep 会扫描所有进程并通过文本匹配,可能产生误匹配且效率较低。前者适合已知 PID 时快速查询,后者用于模糊搜索进程名。推荐优先使用 ps -p 进行精确查询。

2025-12-14 17:22:39 851

原创 bash “ if <command>; then”语句,<command>返回0,then后面语句才执行

本文介绍了Bash中if语句的条件判断机制和命令退出状态码的使用。主要内容包括:1) if <command>; then语句中,命令返回0表示成功/真,非0表示失败/假;2) 通过$?变量可查看上一条命令的退出状态码;3) 提供了多个示例说明不同命令的返回状态,如ls、grep等命令在不同情况下的返回码。文章强调Bash遵循0表示成功、非0表示失败的标准,这与许多编程语言的约定一致。

2025-12-14 14:32:19 191

原创 在一台电脑上生成多个ssh公钥并添加到不同GitHub账号

本文介绍了在同一台电脑上管理多个GitHub账号仓库的方法。核心步骤包括:1)为每个账号生成独立的SSH密钥对;2)将公钥分别添加到对应GitHub账号;3)配置~/.ssh/config文件,通过不同Host别名自动切换密钥;4)克隆仓库时,个人账号使用默认配置,工作账号使用指定别名。此外还提供了临时访问特定仓库的命令参数。这种方法通过SSH配置实现了账号隔离,无需频繁切换全局设置。

2025-12-14 13:49:07 240

原创 bash判断ssh -Tgit@GitHub是否成功,不要看 ssh 的退出码,而要看输出内容

摘要:GitHub的SSH认证成功与否不能依赖传统退出码判断,因为成功时ssh -T git@github.com会返回退出码1(因拒绝shell访问),同时输出"Hi username!..."的欢迎消息;失败则通常返回255并显示"Permission denied"。正确做法是优先检查输出内容是否包含成功认证提示,或在脚本中判断退出码是否为1(而非0)。这是GitHub的特殊设计导致的反常规情况。(149字)

2025-12-14 02:16:13 430

原创 git一键push的脚本

借着ai帮助写了以下脚本,希望能运行当前脚本后,直接完成add/commit/push 3条命令,适用于频繁需要git push的情形,如果写得有错误,请各位大佬指正,

2025-12-06 13:29:26 439

原创 在Windows/termux/linux之间上传、共享临时文本文件

本文分享了几个实用的Linux命令行技巧:1) 在Termux上自动重连SSH的脚本;2) 使用catbox.moe分享小文件并wget下载;3) 通过Pastebin不登录分享内容;4) Windows通过SCP与Linux服务器互传文件。这些方法适用于快速文件共享和服务器管理,涵盖了SSH自动重连、文件分享平台使用以及跨系统文件传输等常见需求。

2025-12-06 13:20:21 222

原创 全球独角兽200强 by grok

全球独角兽企业估值排行榜显示,中国字节跳动以2200亿美元估值居首,美国OpenAI(1570亿)和中国蚂蚁集团(1500亿)紧随其后。榜单前五还包括SpaceX(1370亿)和印度信实零售(1000亿)。AI、金融科技和电商是主要行业,中美企业占据主导地位,其中美国17家,中国10家,印度3家。估值超千亿的仅4家,500亿以下企业占多数,最低为Scale AI(140亿)。行业分布呈现多元化特点,涵盖社交、AI、零售、航天等领域。

2025-12-05 14:58:23 852

原创 vim如何处理.swp文件

Vim异常关闭后再次打开文件时会提示.swp文件冲突。处理步骤:1)通过w或ps检查原进程状态;2)若进程存在,先用kill -TERM优雅关闭,失败则用kill -9强制终止;3)使用vim -r恢复未保存修改,确认后删除.swp文件。最后重新打开文件即可正常编辑。注意恢复修改后再删除交换文件,避免数据丢失。

2025-11-28 15:06:12 311

原创 linux命令行上传文本到分享服务网站paste.sr

摘要:paste.rs 是 Rust 社区维护的快速文本分享服务。通过 curl 命令上传文件(如 curl --data-binary @vimrc.sh https://paste.rs)会生成临时分享链接(如 https://paste.rs/Tz9U1aa)。该链接可在多个浏览器中访问下载,适合快速共享文件。

2025-11-27 20:37:56 141

原创 pc端和安卓平板termux环境传文件的方法

摘要:本文介绍了在PC端和安卓平板Termux环境之间传输文件的几种方法。1)通过Gist上传脚本并获取Raw链接;2)使用Pastebin匿名分享文件;3)在Termux中使用wget下载文件。还说明了如何将Termux的公钥上传到VPS:通过ssh-copy-id命令添加公钥,并检查authorized_keys文件确认是否添加成功。这些方法实现了跨平台文件的便捷传输和安全访问。

2025-11-23 14:59:17 195

原创 单链表 使用 while(p) 进行判断

本文分析了Linux内核中四种典型的单链表遍历模式,使用do-while或while循环处理链表节点。这些案例来自文件系统缓冲区管理(buffer_head链表)和网络协议栈(sk_buff链表),包括:1)buffer_head链表遍历与闭环处理;2)块设备读取时的状态检查;3)网络包队列清理;4)IPv6分片重组。内核采用描述性变量名(如bh、skb)而非简单p,且单链表结构(b_this_page/next指针)广泛应用于性能敏感场景,如缓冲管理和网络包处理。这些实现确保了对链表节点的完整遍历和高效操

2025-11-15 14:52:01 334

原创 单链表 使用 while(p->next) 进行判断

摘要:Linux内核fs/buffer.c文件中的__block_write_full_page函数负责块设备的全页写入操作。该函数通过创建页缓冲区、检查脏缓冲区状态、映射磁盘地址等步骤处理写入请求。核心逻辑包括遍历页面的缓冲区链表,对每个缓冲区进行锁定和异步写入标记,最终通过submit_bh_wbc提交写入请求。函数还处理错误恢复场景,确保数据一致性。在较新内核版本中,该函数已适配folio机制,但基本结构保持不变。

2025-11-14 22:50:00 245

原创 手动修改电脑网卡的dns

本文介绍了在Windows系统上手动配置Wi-Fi网络DNS服务器的步骤:1)通过PowerShell命令Get-NetAdapter查询无线网卡名称(示例中名为"Wi-Fi");2)使用netsh命令设置主DNS为1.1.1.1(Cloudflare),备用DNS为8.8.8.8(Google);3)执行ipconfig /flushdns刷新DNS缓存;4)最后通过ipconfig /all验证DNS设置是否生效。全文提供了完整的命令行操作示例。

2025-11-13 22:26:44 188

原创 mysql退避重启原因: 1, 环境变量没设置对. 2, 数据目录挂载有问题

MySQL启动失败九成源于环境变量配置错误,其余多为数据目录挂载问题。关键检查点包括:确保MYSQL_ROOT_PASSWORD等变量正确设置(90%问题所在),验证数据目录权限和路径有效性(10%原因)。少数情况可能涉及端口冲突、内存不足或配置错误。快速诊断可查看容器日志(docker logs)或检查环境变量配置(docker inspect),多数问题能立即定位解决。

2025-11-05 21:45:46 295

原创 除了结构体外,C语言的自引用场景

C语言中的自引用机制及其常见应用场景 摘要:本文详细介绍了C语言中各种自引用机制及其应用场景。主要内容包括:1) 函数指针自引用实现递归;2) 结构体/联合体自引用构建链表、树等数据结构;3) 函数指针自引用模拟面向对象编程(如Linux内核的文件操作);4) 相互引用结构体;5) 不完全类型等。其中,结构体中函数指针自引用是工程实践中最常用的方式,广泛应用于操作系统内核、状态机、事件回调等场景。这些自引用机制是C语言实现复杂数据结构和系统设计的核心基础。

2025-10-28 20:54:12 400

原创 IMF关于亚太地区经济预测

亚太地区2024-2026年经济预测显示整体增长平稳但存在分化。亚洲整体GDP增速预计从2024年的4.6%微降至2026年的4.1%,较此前预测有所上调。发达经济体中,澳大利亚、日本等增速缓慢,而澳门、新加坡等有所调整。新兴市场和发展中经济体增速高于发达经济体,中国预计2024年增长5.0%,印度2025年达6.6%。部分国家如缅甸、越南增速显著,但调整幅度较大。太平洋岛国增速维持在3%左右。数据来自IMF《世界经济展望》及工作人员预测。

2025-10-28 19:19:29 131

转载 XY问题,想问x,但自作聪明以为问题是y

《警惕“XY问题”:如何避免无效提问》摘要:当人们只询问具体解决方案Y,却隐藏真实需求X时,就会产生“XY问题”。多位专家指出,这种提问方式会导致三种后果:1. 回答偏离实际需求;2. 错失更优方案;3. 造成反复试错。典型案例包括只问“如何截取字符串后三位”却不说实际要获取文件扩展名。解决关键在于直接说明原始目标X,而非预设的解决方案Y。这需要突破两个思维误区:过早下结论和过度关注技术细节。良好的问题描述应包含背景、目标和已尝试方案,方能获得精准有效的帮助。

2025-10-26 17:55:11 56

原创 线性表Linear List:一种最基本/最常用/结构简单的数据结构

线性表是最基本的数据结构,由有限个数据元素组成的有序序列。C语言中主要有两种实现方式: 顺序存储结构(数组实现) 优点:随机访问快(O(1)),存储密度高 缺点:插入删除慢(O(n)),容量固定 链式存储结构(链表实现) 优点:插入删除快(O(1)),容量灵活 缺点:存取慢(O(n)),存储密度低 选择依据: 频繁随机访问选顺序表 频繁插入删除选链表 链表变种包括双向链表和循环链表。理解线性表是实现更复杂数据结构的基础。

2025-10-25 21:01:15 591

原创 置空文件:truncate -s 0 x.sh,vim: ^ 让光标到行首,输出错误到log文件

摘要:Linux命令truncate -s 0 x.sh可将文件x.sh快速置空,清空内容但保留文件。在Vim中,按^键可使光标移动到当前行首。这两个技巧分别用于文件管理和文本编辑场景。

2025-10-23 19:43:36 96

原创 Strategy(策略)和 Tragedy(悲剧)

"Strategy"(策略)和"Tragedy"(悲剧)虽拼写相似,但词源和含义完全不同。"Strategy"源自希腊语"strategos"(将军),指军事指挥艺术;"Tragedy"来自"tragoidia"(山羊之歌),与戏剧表演仪式相关。两词仅因"-gy"结尾和含"rag"易混淆,可通过词根记忆区分:Strategy(军队阵列→战略),Tra

2025-10-23 14:22:06 257

原创 越南的收储和越南政府再贷款

越南政府或其指定机构按照一定价格,从市场上。

2025-10-23 14:09:08 158

原创 越南大行TLAC远在达标上,财政部要再先注资

摘要:越南银行虽TLAC(总损失吸收能力)指标达标,但资本质量存忧。核心一级资本不足,且面临房地产风险、经济下行等挑战。财政部提前注资旨在:1)提升核心资本质量;2)应对未来风险;3)支持银行让利实体经济;4)增强国际竞争力。此举借鉴国际经验,通过低成本注资(特别国债)补充最优质资本,避免危机时被动救助。2024年拟向六大行注资数千亿元,核心一级资本率目标提升至12-14%,为金融强国战略提供支撑。(149字)

2025-10-23 13:49:51 518

原创 C语言实现多态

C语言通过函数指针实现OOP多态:1)定义基类结构体包含函数指针(虚函数表);2)派生类将基类作为首成员实现继承;3)构造函数绑定具体函数实现;4)通过基类指针调用实现运行时多态。关键点在于:内存布局兼容(基类首成员)、构造时绑定虚函数、向上转型不改变指针地址。代码示例展示了Circle和Rectangle如何通过Shape基类指针实现多态调用draw()和area()方法。

2025-10-20 20:59:11 1006

原创 返回数组指针的函数的写法

int (*func())[2] 是一个“返回数组指针的函数”的声明,int * func()[2] 是无效的,会编译错误。

2025-10-20 12:21:09 111

原创 函数() 运算符(函数调用运算符)的优先级高于 *(解引用/指针)

C语言中函数指针与返回指针的函数存在语法差异: int *func() 声明返回int*的函数,func先与()结合。 int (*func()) 括号不改变解析顺序,等价于第一种形式。 (*func)() 表示func是一个函数指针,通过解引用调用目标函数。 注意括号位置决定声明含义,返回指针的函数与函数指针是不同概念。

2025-10-20 12:14:58 210

原创 介绍llama.cpp

摘要: llama.cpp 是一个基于 C++ 的轻量级框架,支持在本地 CPU 上高效运行 LLaMA 等大语言模型,无需依赖 GPU。其核心优势包括:纯 C++ 实现、跨平台兼容性(尤其适配 Apple M 芯片)、高效的模型量化技术(如 GGUF 格式,可将模型体积压缩 70%+),以及支持多种开源模型(如 Mistral、Phi-2)。用户通过命令行或集成工具(如 Ollama、LM Studio)即可快速部署,典型场景包括本地对话、边缘计算等。例如,7B 模型在 M2 MacBook 上量化后推理

2025-10-18 21:20:55 987

原创 【越南语_英语_佳句】

这些中英越三语佳句展现了生活中温暖美好的情感片段。从"我们应该分享一切可以分享的东西"的善意,到"我会一直笑,因为遇到了你"的甜蜜告白;从北方春天"能闻到甜美的花蜜香味"的细腻感知,到"你觉得需要坚定信念"的鼓励话语。这些句子交织着关怀、爱意与希望,既有"善意无需成本"的生活智慧,也有"心潮起伏难以形容"的情感波动,共同构成了一幅人与人之间温暖互动的美好画卷。(149字)

2025-10-17 17:25:27 1054

原创 切换、退出GitHub account with Copilot,github copilot账号,自动补全没额度了

切换、退出GitHub account with Copilot,github copilot账号,自动补全没额度了,以下是markdown教程:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command + Shift + O检查列表:Ctrl/Comm

2025-08-15 17:11:39 2065

原创 WSL2 Linux Ubuntu2404_无法使用vscode copilot插件

WSL_Linux Ubuntu2404_无法使用vscode copilot插件Screenshot_20250312170115

2025-03-12 17:06:52 1108 8

产生的core文件free(): double free detected in tcache 2

程序名称: ./headless_list +2 涉及的关键函数: list_insert(): 插入节点,包含 malloc 操作 。 +1 list_delete(): 删除节点,包含 free 操作 。 +1 list_find(): 查找节点 。 +1 崩溃发生点: 程序在打印出 "prepare into list_destory() ......" 之后崩溃 。 +1 直接诱因: 在执行 list_destroy() 函数期间,程序在释放链表节点时触发了 double free

2025-12-23

haproxy架构指南(中文翻译版).pdf

haproxy架构指南中文翻译版,版本V1.0时间2012-07-18版权GPL作者itnihao 邮箱 itnihao@qq.com本文档来自haproxy1.4.21官方文档的翻译,如有不妥之处,请邮件联系我,谢谢!注意:本文档1-3.1为此博客翻译http://blog.chinaunix.net/uid-10249062-id-348470.html 3.1章节以后为itnihao翻译本博客不定期维护更新此文档。

2018-02-26

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

TA关注的人

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