原创聚合|Linux阅码场原创精华文章汇总与征稿

原创 Linux阅码场 2023-11-15 08:00

阅码场近期征稿选题


性能优化案例:

1 内存

2 功耗

3 调度

4 存储

5 FWK


安全类:

1 安全启动和远程证明原理

2 tee原理以及应用分析

3 权限最小化管理以及沙箱技术

4 mac技术:selinux原理

5 ids入侵检测技术(包括rootkit检测等)结合AI技术

6 IMA和dim kernel原理

7 隐私计算

8 DRM



阅码场用户选题:


1 内核对cache/tlb的配置刷新及刷新时机
2 深入理解Bcache
SMP和超线程
 cache一致性协议与False Sharing
处理器微架构及IPCCPI
NUMA
MMUIOMMU技术
wayland,DRM,hugetlb,cgroup,bcache,__attribute__,tee, gdb,rtos,进程调度,shell编程,wayland,mount,autosuspend,RCU,CFI,中断。
(以上为用户在后台提交的关键词,欢迎投稿)


原创精华文章


Linux glibc 内存站岗问题及解决方法

持续更新,敬请期待!(最后更新日期2022.11.10)


Linux学习方法:

宋宝华:迭代螺旋法——关于Linux学习方法的血泪建议
宋宝华:纪念金庸先生——程序员的武侠世界

甄建勇:芯片架构方法学

如何阅读Linux内核的源码

总是选择难的那条路





操作系统导论


程磊:
操作系统导论new

Linux任督二脉之进程管理


郭健:Linux进程调度技术的前世今生之“前世”

郭健:Linux进程调度技术的前世今生之“今生”
深入理解Linux内核进程上下文切换

漫话Linux之“躺平”: IDLE 子系统

宋宝华:是谁关闭了Linux抢占,而抢占又关闭了谁?

同样学习Linux, 为何差别这么大? - 论打通Linux进程和内存管理任督二脉

宋宝华: 僵尸进程的成因以及僵尸可以被“杀死”吗?

宋宝华:关于Linux进程优先级数字混乱的彻底澄清

有关微内核OS史上最透彻一篇 - 写于华为鸿蒙发布一周之际

被神话的Linux, 一文带你看清Linux在多核可扩展性设计上的不足

fork三部曲:Linux fork那些隐藏的开销

fork三部曲:Unix/Linux fork前传

fork三部曲:Fork三部曲之clone的诞生

理解Linux内核抢占模型(最透彻一篇)

大碰撞!当Linux多线程遭遇Linux多进程

宋宝华:在实时操作系统里面随便怎么写代码都能硬实时吗?

Linux中父进程为何要苦苦地知道子进程的死亡原因?

定位并行应用程序中的可伸缩性问题(最透彻一篇)

宋宝华:谈一谈Linux让实时/高性能任务独占CPU的事

彭伟林:Linux schedule 之 Cgroup

彭伟林:Linux schedule 调度算法

程磊:深入理解Linux进程调度new
程磊:深入理解Linux进程间通信(new
程磊:深入理解Linux进程管理new

Linux任督二脉之内存管理


宋宝华:CPU是如何访问到内存的?--MMU最基本原理

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)

围绕HugeTLB的极致优化

Linux glibc 内存站岗问题及解决方法

宋宝华:网上坑爹的Linux资料汇总之内存管理

宋宝华:swappiness=0究竟意味着什么?

宋宝华:kvmalloc ——倚天剑屠龙刀两大神器合体?

宋牧春:多图详解Linux内存分配器slub

宋牧春:Linux内核slab内存的越界检查——SLUB_DEBUG
宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)

宋宝华:论Linux的页迁移(Page Migration)完整版

郭健:Linux内存逆向映射(reverse mapping)技术的前世今生
谢宝友:深入理解Linux RCU之一——从硬件说起

谢宝友:深入理解Linux RCU:从硬件说起之内存屏障

廖威雄: 学习Linux必备的硬件基础一网打尽

为什么内核访问用户数据之前,要做access_ok?
Linux的page cache使用情况/命中率查看和操控

Linux内核如何私闯进程地址空间并修改进程内存

内存泄漏(增长)火焰图

宋宝华:Linux为什么一定要copy_from_user ?

linux内核写时复制机制源代码解读

深入剖析Linux内核反向映射机制

宋宝华:深入理解cache对写好代码至关重要(上)

用户态进程如何得到虚拟地址对应的物理地址?

内存管理的另辟蹊径 - 腾讯云虚拟化开源团队为内核引入全新虚拟文件系统(dmemfs)

宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?

宋宝华:ARM64 Linux内核页表的块映射

程磊:Linux OOM 基本原理解析

小辉:使用内存回收技术对嵌入式系统进行性能优化(new

余华兵:《Linux内核深度解析》选载之内存地址空间(new

余华兵:《Linux内核深度解析》选载之内存映射(new

余华兵:《Linux内核深度解析》选载之物理内存组织(new
余华兵:《Linux内核深度解析》选载之伙伴分配器(new
余华兵:《Linux内核深度解析》选载之块分配器(new
李浩宇、赵佳炜:XRP:用eBPF优化内存存储功能(new

Linux线程管理


程磊:深入理解Linux中断机制new
程磊:深入理解Linux自旋锁new

系统调试调优


推荐Linux性能分析的一篇论文和两本书

宋宝华:深入理解cache对写好代码至关重要(上)

宋宝华:关于Ftrace的一个完整案例

(重磅原创)冬之焱: 谈谈Linux内核的栈回溯与妙用

阿里杨勇:浅谈 Linux 高负载的系统化分析

Linux TraceEvent - 我见过的史上最长宏定义

大神如何不择手段,最快最精准打击Linux网络问题?

揭露内核黑科技 - 热补丁技术真容

Linux pstore 实现自动“抓捕”内核崩溃日志

解决Linux内核问题实用技巧之-dev/mem的新玩法

吴章金:如何创建一个*可执行*的共享库

吴章金: 深度剖析 Linux共享库的“位置无关”实现原理

吴章金:通过操作 Section 为 Linux ELF 程序新增数据

吴章金:实例解析 Linux C 语言程序之变量类型

解决Linux内核问题实用技巧之 - Crash工具结合/dev/mem任意修改内存

解决Linux内核问题实用技巧之-dev/mem的新玩法

宋宝华:火焰图:全局视野的Linux性能剖析

宋宝华:当Linux内核遭遇鲨鱼—kernelshark

孟冉: Linux火焰图的数据流程分析

宋宝华:用off-cpu火焰图进行Linux性能分析

宋宝华:用eBPF/bcc分析系统性能的一个简单案例

朱辉(茶水):Linux Kernel iowait 时间的代码原理

朴英敏:用crash工具分析Linux内核死锁的一次实战

宋宝华:Kernel Oops和Panic是一回事吗?

廖威雄: 利用__attribute__((section()))构建初始化函数表与Linux内核init的实现

宋宝华:关于Linux编译优化几个必须掌握的姿势

燕青:Unixbench 测试套件缺陷深度分析

宋宝华:一个简单的python脚本画出Linux程序/库依赖图

宋宝华:一个简单的python脚本看透Linux程序对库的依赖

Linux 系统性能评测基准系统配置及其原理

精品译文系列:Linux多线程应用性能分析

Linux 系统性能评测基准系统配置及其原理

李浩: 再谈 volatile 关键字

闻茂泉:系统性能监控与分析的工程化实践之路

彭伟林:Ftrace Hook (Linux内核热补丁) 详解

彭伟林:BPF内核实现详解

李棒:深入理解内存泄漏检查kmemleak

彭伟林:手把手入门火焰图

李棒:浅谈 ARM64 基于硬件 tag 的 KASAN

彭伟林:使用ftrace分析函数性能

彭伟林:Linux ftrace 1.3、tracer (function、function_graph、irq_off)

庆伟:Linux Tracing System浅析和eBPF开发经验分享

宋赛:一文读懂eBPF的前世今生

彭伟林:深入理解Linux ftrace 之 trace event

龙城赤子:一个内核oops问题的分析及解决

张彦飞:深入理解Linux网络之网络性能优化建议

许庆伟:减少嵌入式软件调试时间的三个技巧

陈松:Ftrace源码分析系列之objtrace

彭伟林:Inline Hook Syscall 详解

周鹤洋:wBPF WXMP post submission

许庆伟:利用LSM钩子打破系统调用跟踪桎梏(new

李晓辉:手机性能优化工具的使用思路比较new

赵亚楠:Linux 网络栈接收数据(RX):配置调优new
张毅峰:PODS2022:eBPF安全可观测性的前景展望&Linux进程调度与性能优化速记(Day2)new
孙鹏:mcp内核稳定性问题定位思路与方法(new
谢欢:使用Ftrace做性能分析和性能优化(new
邢孟棒:性能工程师书单推荐与性能工程常见误区(new
赵亚楠:K8s 集群稳定性:LIST 请求源码分析、性能评估与大规模基础服务部署调优new

文件系统和IO


宋宝华:Linux文件读写(BIO)波澜壮阔的一生

刘正元: Linux 通用块层之IO合并

黄伟亮:ext4文件系统之裸数据的分析实践

黄伟亮:探秘Linux的块设备和根

打通IO栈:一次编译服务器性能优化实战

吴锦华/明鑫: 用户态文件系统(FUSE)框架分析和实战

实例演绎Unix/Linux的"一切皆文件"思想

300来行代码带你实现一个能跑的最小Linux文件系统

宋宝华:论一切都是文件之匿名inode

许庆伟:以Ftrace为抓手打通软硬件任督二脉:IO和中断new
廖威雄:搞懂 ELF - 从入门到遗忘new

设备驱动


宋宝华:让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型

宋宝华:Linux设备驱动框架里的设计模式之——模板方法(Template Method)

桃李春风一杯酒,江湖夜雨十年灯 - 老兵夜话DPDK

Linux Tcp 内核协议栈学习三种武器 之 Packet Drill

宋宝华:Linux内核编程广泛使用的前向声明(Forward Declaration)

宋宝华:Linux设备与驱动的手动解绑与手动绑定

用Linux内核的瑞士军刀-eBPF实现socket转发offload

宋牧春:Linux设备树文件结构与解析深度分析(1)

宋牧春:Linux设备树文件结构与解析深度分析(2)
何晔:当ZYNQ遇到Linux Userspace I/O(UIO)

邵国际: C 语言对象化设计实例 —— 命令解析器

宋宝华:关于ARM Linux原子操作的实现

罗玉平:关于ARM Linux原子操作的底层支持

Linux的中断可以嵌套吗?

ARM Linux的中断服务程序工作在ARM的IRQ模式吗?

宋宝华:几个人一起抢spinlock,到底谁先抢到?

宋宝华:为什么Linux内核常常用unsigned long来代替指针

孙雷: 虚拟化之——virtio-net基础篇

Jack:深入理解VFIO驱动框架

尹忠凯:dma-buf学习分享

廖威雄:小白快速入门 Linux alsa 应用编程

彭伟林:Linux usb Device 详解

彭伟林:Linux usb Host 详解


用户态编程


一文读懂Linux进程、进程组、会话、僵尸

骆小刚:Linux后台服务启动方式systemd、daemon、nohup大比拼

郝健:Linux下服务程序启动管理方式的分析与总结

宋宝华:一图理解终端、会话、 进程组、进程关系

宋宝华:让Linux的段错误(segmentation fault)不再是一个错误


云和虚拟化


宋宝华:Docker 最初的2小时(Docker从入门到入门)

KVM最初的2小时——KVM从入门到放弃(修订版)

Leo Hou:深入理解SR-IOV和IO虚拟化(new

黄鹏:报文ACL算法之HyperSplit Tree建树性能优化new

黄鹏:DPDK代码级调优之__rte_cache_alignednew


Linux内核月报


Linux阅码场 - Linux内核月报(2020年06月)

Linux阅码场 - Linux内核月报(2020年07月)

Linux阅码场 - Linux内核月报(2020年08月)

Linux阅码场 - Linux内核月报(2020年09月)

Linux阅码场 - Linux内核月报(2020年10月)


Linuxer 人生


宋宝华:公元1024年Linux内核的尘封往事

经历≠经验,码农如何工作10年依然是菜鸟?

陈莉君教授: 回望踏入Linux内核之旅

魏永明:MiniGUI的涅槃重生之路

谢宝友: 手把手教你给Linux内核发patch

甄建勇:架构师要找到“生产”好想法的方法(new


ARM 架构


周贺贺:深入学起Cache系列 3 : 多核多Cluster多系统之间的缓存一致性

周贺贺:深入学习Cache系列 2: Cache是如何工作的?概念以及工作过程

周贺贺:深入学习Cache系列 1: 带着几个疑问,从Cache的应用场景学起

周贺贺:armv8/armv9不同特权程序之间的跳转模型

周贺贺:armv8/armv9中断系列详解-中断示例展示

周贺贺:armv8-armv9中断系列详解-硬件基础篇

周贺贺:armv8-armv9 MMU深度学习

周贺贺:一文了解Linux Kernel中密码学算法的设计与应用

周贺贺:ATF快速扫盲(Quick Start)

周贺贺:Linux Kernel中非对称密码算法的实现

张健:Apple M2和ARMv8.5特性

周贺贺:Baron:程序运行过程中突然打开MMU会怎么样?
程磊:深入理解Android图形系统new


实时系统与性能


王顺刚:xenomai3.1+linux构建linux实时操作系统-基于X86_64和arm

王顺刚:xenomai内核解析之嵌入式实时linux概述

彭伟林:Linux实时化与硬实时RTOS综述

邓世强:浅谈Linux内核的实时性优化

王顺刚:xenomai内核解析--双核系统调用(一)

王顺刚:xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务

王顺刚:xenomai内存池管理

王顺刚:有利于提高xenomai 实时性的一些配置建议


系统信息安全


彭伟林:CFI/CFG 安全防护原理详解

书意:sel4源码解析(二) - CSpace

书意:sel4源码解析(一) - sel4内核对象

许庆伟:研究内核安全必读的10本书new
许庆伟:Linux Kernel运行时安全检测之LKRG-原理篇new
许庆伟:Linux Kernel运行时安全检测之LKRG-实践篇new
许庆伟:分歧还是共存?详解Android内核安全new
甄建勇:看完这篇文章,还搞不懂全同态加密,你过来打我--基于格密码全同态加密的数学基础(new

芯片与系统架构


甄建勇:CXL:为缓存一致性而生的新一代总线

zheng Li:从多核到众核处理器

周贺贺:图解SOC中的Timer(一):系统里有哪些Timer?


平台与硬件


彭伟林:深入理解EtherCAT

Leo:机械按键扫描——数字逻辑有限状态机思想在软件中的实现

程晨:Arduino Portenta X8新开发模式支持Docker

张健:从外到内揭开亚马逊的自研ARM芯片:Graviton3

周贺贺:SOC的多核启动流程详解

甄建勇,赵佳炜:PODS2022:Perf Monitor 可观测之源速记(Day1)new
程磊:深入理解Linux电源管理new

存储技术


小辉:手机Android存储性能优化架构分析(new

李勇、傅治宇:关于Bcache维护者李勇直播的一些要点总结(new

UEFI


罗冰:UEFI入门必读的12本书new

罗冰:《UEFI编程实践》选载之访问 PCI/PCIE 设备new

Linux电源管理


程磊:深入理解Linux电源管理new

算法


程磊:
深入理解红黑树new

程磊:深入理解排序算法new




与其相忘于江湖,不如点个关注


如果您觉得不错,请转发转发转发!

或者随手点个“在看”吧~

Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 46浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 198浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 221浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 186浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 115浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 55浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 153浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 102浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 412浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 122浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦