自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(342)
  • 资源 (6)
  • 收藏
  • 关注

原创 Linux进程间通信:dbus的使用(3)—— 整理关于D-Bus的一些学习笔记和补充

1、移植dbus到开发板的步骤Linux:交叉编译dbus/glib/dbus-glib - iamlinrm.优快云先移植dbus-daemon后台进程所依赖的xml解析器:tar xjf expat-2.3.0.tar.bz2cd expat-2.3.0./configure --prefix=$PWD/tmp --host=arm-linux-gnueabihfmakemake installcp -rfd tmp/* ~/net/nfs_root/fs/usr/rm -rf

2021-04-19 18:31:01 5942 1

原创 Linux shell:脚本编写快速入门

形式1:使用function关键字定义# cmd... }形式2:与C语言类似# cmd... }/bin/bashfunc(){func。

2021-02-06 16:47:11 2422 1

原创 Linux:命令行调试WiFi(iwlist/iwconfig/iw/wpa_supplicant/wpa_cli/dhcp/hostapd/hostapd_cli的使用方法)

文章目录1、编译步骤2、iwlist3、iwconfig4、iw5、wpa_supplicant5.1 wpa_supplicant —— 连接AP热点5.2 wpa_cli —— wpa_supplicant的客户端6、动态获取IP地址6.2 方式1:使用busybox自带的udhcpc工具(推荐)6.2 方式2:dhclient7、hostapd7.1 hostapd —— 创建AP热点7.2 hostapd_cli —— hostapd的客户端8、动态分配IP地址8.1 方式1:使用busybox自带

2020-07-21 20:54:28 9400

原创 Linux:MQTT通信协议之一 -- mqtt基本概念、apt-get命令搭建mosquitto服务器及简单测试

MQTT1、MQTT是什么2、MQTT通信模式3、MQTT发布服务质量4、MQTT遗嘱消息5、MQTT主题筛选6、Ubuntu安装mosquitto7、测试(默认配置)8、设置服务器端密码 / 端口9、测试(密码连接)10、参考文章11、附加内容(相关参数说明)1、MQTT是什么Message Queuing Telemetry Transport是一个基于TCP/IP的轻量级、灵活的即时通讯协议,多用于IOT物联网开发(这里假设你已经了解过MQTT是怎样的一个协议了,所以只是简单说明一下,想了解更多可

2020-06-04 17:11:47 1966 1

原创 Linux多线程编程:pthread线程创建、退出、回收、分离、取消

文章目录Linux线程1、简单了解一下线程2、线程创建:pthread_create3、线程传参注意事项4、线程退出:pthread_exit5、线程回收:pthread_join6、线程分离:pthread_detach7、线程取消:pthread_cancel8、线程其他函数9、线程注意事项Linux线程1、简单了解一下线程  线程也被称为轻量级进程,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,因为进程切换时需要更新cache和tlb,而线程就不用。由于多个线程访问的都是同一地址空间

2020-05-12 10:32:55 29888 2

原创 C语言:结构体大小及其成员分布的探究(结构体内存对齐问题)

文章目录1、基础成员大小2、为什么要内存对齐?3、联合体的大小4、32位环境下的结构体大小4.1 成员的起始地址偏移4.2 以最宽基础成员大小对齐4.3 同样地以最宽基础成员对齐:结构体包含结构体4.4 自定义内存对齐值#pragma pack(n)4.5 位域1、基础成员大小在不同机器上,编译器处理基础类型占用内存字节不尽相同,如表所示:更正: 评论区指出LP32和ILP32之间的区别。上面表格是常用的系统环境下的数据类型,但是不同的系统环境有不同的数据模型,见下表。(注:后续的测试都是建立在

2020-05-03 20:05:43 1961 2

转载 source insight4 行结束符 CRLF转化为LF

显示行结束符: options->preferences->syntax formatting->file types->visiable end of。Windows(CR LF)改成Unix(LF): options->preferences->files->default line endings。

2024-12-30 15:15:26 116

转载 Source Insight 4.0显示Tab键、空格以及Tab键转为4个空格

Source Insight 4.0中显示Tab键、空格、以及用4个空格替换Tab键,如下选择"Options"-->"Preferences"接着选择对应的文件类型,把Tab、空格、以及Tab强制转换为空格都勾选上。

2024-12-19 17:41:56 991

转载 source insight:快捷键设置多行注释与反注释

步骤一:Options--->Key Assignments,如下图步骤二:在Command:中输入Edit:comment,会过滤后出现Edit:Comment Lines和Edit:Un-Comment Lines两行。其中,第一个是注释多上的,第二个是取消多行注释的。步骤三:点击Assign New Key按钮,然后关闭弹出的对话框,由于我喜欢的Ctrl+/已被Lookup Referefce...占用,所以就同时按下Ctrl+Shift+/快捷键。

2024-12-19 17:40:50 531

转载 GNSS NMEA-0183协议解析

最近在做gps相关工作,需要解析gps模组输出的nmea数据,获得经纬度等信息,整理了一下nmea各个字段的含义,供大家参考。GNSS的全称是全球导航卫星系统(Global Navigation Satellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星增强系统)等

2024-11-04 22:00:28 422

转载 音视频知识:H.264中AnnexB和avcC的区别

当我们读取一个 H264 流的时候,一旦遇到 0 0 0 1 或者 0 0 1,我们就认为一个新的 NALU 开始了,因此,这些用来做分隔符的字节,一般也被称为 start code, 起始码。所谓防竞争字节(Emulation Prevention Bytes),就是在给 NALU 添加起始码之前,先对码流进行一次遍历,查找码流里面的存在的 0 0 0,0 0 1,0 0 2,0 0 3 的字节,然后对其进行如下修改。经过这样处理的码流,就不会再和起始码(0 0 1, 0 0 0 1)重复而发生冲突。

2024-10-20 20:48:10 132

转载 音视频知识:H264/H265的两种格式Annex B、AVCC(H264)/HVCC(H265)

H.264 (AVC) 和 H.265 (HEVC) 是两种常见的视频编码标准,它们都有不同的封装格式,即Annex B 和 AVCC(H264)/HVCC(H265) 封装格式。

2024-10-20 20:41:47 681

转载 Linux:设置sudo无需密码【Ubuntu、多种方法】

在日常使用 Ubuntu时,您可能经常需要以管理员身份运行命令,这意味着每次执行sudo命令时都需要输入密码。虽然这是一个安全措施,但在某些情况下,频繁输入密码可能会显得繁琐。本文将介绍如何设置sudo无需密码的多种方法,同时保持系统的安全性。

2024-08-25 22:03:27 3216 1

转载 git:解决git am冲突的方法

【正文】在踩过几次坑之后,大多数工程师都会学会使用patch的形式来保存各个模块/功能的代码改动,这样可以很方便地为相应模块添加或者去除相关功能的代码。但是伴随着主线代码的不断更新,我们在早期保存出来的patch中有部分内容可能已经不能再直接打入现在的代码里了。这种情况下可以使用下面的方法解决冲突:1、执行命令尝试直接打入补丁。因为我们使用的 patch 已经过时了,所以这一步肯定会报错并中断(注意,虽然命令停止执行了,但我们依然处于git am命令的运行环境中,可以通过git命令查看到当前的状态)。

2024-08-24 22:04:01 264

原创 64位Ubuntu运行一个真实存在的可执行程序却报错的解决方法(No such file or directory)

那么是可执行程序(交叉编译的程序除外)与你的PC机运行环境“位数”不一致导致。在64位的Ubuntu机器上运行一个路径真实存在的可执行文件,提示。

2024-08-17 20:08:21 539

原创 编译Linux内核报错:usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of `yylloc‘;

gcc版本过高(高于10.0),可通过。

2024-08-17 19:43:28 915

原创 WSL:(Windows Subsystem for Linux) 将启动时默认用户更改为root或其他用户

请注意,以 root 用户工作可能会带来安全风险,因为 root 用户具有对系统的完全访问权限。因此,只有在你确实需要 root 权限时才应该这样做,并且要谨慎操作。在完成需要 root 权限的任务后,建议将默认用户改回普通用户。首先,你需要知道你的 Linux 发行版的名称。请注意,上述命令可能因 WSL 版本和发行版的不同而有所不同。重新打开 WSL 终端窗口,你应该会以 root 用户登录。打开你的命令提示符或 PowerShell。关闭所有打开的 WSL 终端窗口。

2024-07-14 16:35:49 1718

原创 Linux:解决vim打开文件默认为replace模式

Ubuntu打开 vim 默认为 replace 模式。终端的编码设置与目标机器的编码设置不同。修改 vim 配置文件(

2024-07-14 16:14:10 803

转载 Linux shell:/bin/bash和/bin/sh解释器的误用引起的脚本语法错误

GNU/Linux 操作系统中的 /bin/sh 是 bash(Bourne-Again Shell)的符号链接,但鉴于 bash 过于复杂,有人把 ash 从 NetBSD 移植到 Linux 并更名为 dash(Debian Almquist Shell) https://wiki.ubuntu.com/DashAsBinSh ,并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。下面的脚本,在Linux上运行良好,在SUNOS执行的时候报语法错误。一番折腾之后,是脚本解释器的问题.

2024-07-14 12:25:36 385

转载 WSL:修改安装包实际安装位置,最新完整教程_wsl安装路径

如果你将Ubuntu的文件解压并安装到D盘,但WSL本身仍在C盘,则安装的Ubuntu子系统仍会使用WSL的默认存储路径。在 WSL (Windows Subsystem for Linux) 中,默认情况下安装的 Ubuntu 子系统及其文件存储位置是固定的,但你可以更改 WSL 的安装地址,尤其是对于 WSL 2。下面是如何更改安装地址的步骤通过这些步骤,你应该能够成功导出、注销并导入 WSL 发行版到新的位置。版权声明修改wsl安装包实际安装位置,最新完整教程_wsl安装路径-优快云博客。

2024-07-13 23:39:46 4464

转载 编译Linux内核出现:/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of `yylloc’

【代码】编译Linux内核出现:usr_bin_ld_ scripts_dtc_dtc-parser.tab.o_(.bss+0x50)_ multiple definition of `yylloc‘;-C。

2024-07-13 23:16:59 307

原创 音视频封装demo:将h264数据和aac数据封装(mux)成TS文件(纯手工,不依赖第三方开源库)

$ make clean && make DEBUG=1$$ ./ts_mux_h264_aacUsage: ./ts_mux_h264_aac avfile/test1_856x480_24fps.h264 24 avfile/test1_44100_stereo.aac out1.ts ./ts_mux_h264_aac avfile/test2_720x480_30fps.h264 60 avfile/test2_48000_stereo.aac out2.ts ./ts_mu

2024-07-09 11:34:32 823

原创 音视频解封装demo:将FLV文件解封装(demux)得到文件中的H264数据和AAC数据(纯手工,不依赖第三方开源库)

目前demo解封装功能正常,所得到的H.264文件与AAC文件均可正常播放。

2024-07-09 11:27:31 789

原创 音视频封装demo:将h264数据和aac数据封装(mux)成FLV文件(纯手工,不依赖第三方开源库)

1、demo使用$ make clean && make DEBUG=1$$ ./flv_mux_h264_aacUsage: ./flv_mux_h264_aac avfile/test1_856x480_24fps.h264 24 avfile/test1_44100_stereo.aac out

2024-07-09 11:22:50 1007

原创 音视频解封装demo:使用libmp4v2解封装(demux)出mp4文件中的h264视频数据和aac语音数据

本demo是使用的mp4v2来将mp4文件解封装得到h264、aac的,目前demo提供的.a静态库文件是在x86_64架构的Ubuntu16.04编译得到的,如果想在其他环境下测试demo,可以自行编译mp4v2并替换相应的库文件(libmp4v2.a)。

2024-07-09 11:16:48 843

原创 音视频封装demo:使用libmp4v2将h264视频数据和aac语音数据封装(mux)成mp4文件

本demo是使用的mp4v2来将h264、aac封装成mp4文件的,目前demo提供的.a静态库文件是在x86_64架构的Ubuntu16.04编译得到的,如果想在其他环境下测试demo,可以自行编译mp4v2并替换相应的库文件(libmp4v2.a)。

2024-07-09 11:13:30 1448

原创 音频demo:使用开源项目LibFLAC来将PCM格式数据和FLAC无损压缩格式相互进行编解码

如果是双声道,那么一个采样点就包含16bit*2channels等于4个字节,单通道就是2个字节(16bit),那么,文件大小/一个采样点的字节数=总的采样点数。另外,从日志里看,这里1帧(frame)是由4096个采样点编码而成,那么我们程序里每次读取1024个采样点传递进去并不是直接进行编码的。

2024-07-09 10:35:00 1000

原创 音频demo:将PCM数据和opus格式相互编解码

解码:在得到编码数据时,先写4个字节标识一下这段数据的大小,方便解码得到这一帧的数据长度。的文件是chatgpt生成的demo,没有实际验证效果,编码:程序可以正常运行,但是编码出来没有播放器可以验证,,不过可以通过下面自己再解码成PCM即可验证是否正常;不好确定设置的码率是否生效。

2024-07-09 10:33:38 1963 3

原创 音频demo:将PCM数据和ogg vorbis格式相互编解码

libogg+libvorbis移植步骤源码下载地址:[https://xiph.org/downloads/](https://xiph.org/downloads/) ```bashtar xzf libogg-1.3.5.tar.gzcd libogg-1.3.5/#./configure --prefix=$PWD/_install --disable-shared --enable-static --with-pic./configure --prefix=$PWD/_instal

2024-07-09 10:31:04 1101

原创 音频demo:将PCM数据和Speex数据进行相互编解码

源码下载地址:[https://xiph.org/downloads/](https://xiph.org/downloads/) 或 [https://www.speex.org/downloads/](https://www.speex.org/downloads/) 或 [https://www.linuxfromscratch.org/blfs/view/svn/multimedia/speex.html](https://www.linuxfromscratch.org/blfs/view/svn

2024-07-09 10:30:27 612

原创 音频demo:使用开源项目libmad来将MP3数据解码出PCM数据

本demo是使用开源项目libmad来将MP3数据解码成PCM(16位有符号小字节序)数据。(环境:x86_64 Ubuntu16.04 64位)

2024-07-09 10:28:20 409

原创 音频demo:将PCM数据和Speex数据进行相互编解码

##### a. libspeex移植步骤源码下载地址:[https://xiph.org/downloads/](https://xiph.org/downloads/) 或 [https://www.speex.org/downloads/](https://www.speex.org/downloads/) 或 [https://www.linuxfromscratch.org/blfs/view/svn/multimedia/speex.html](https://www.linuxfromsc

2024-07-08 20:22:15 1041

原创 音频demo:使用开源项目libmad来将MP3数据解码出PCM数据

本demo是使用开源项目libmad来将MP3数据解码成PCM(16位有符号小字节序)数据。(环境:x86_64 Ubuntu16.04 64位)

2024-07-08 20:18:17 656

原创 音频demo:使用开源项目lame来将MP3数据解码出PCM数据

本demo是使用开源项目lame来将MP3数据解码成PCM数据。(环境:x86_64 Ubuntu16.04 64位)注:在下面【参考文章】中的第1篇里面提到解码出现过异常情况(hip: bitstream problem, resyncing skipping xxx bytes…),或许是因为我屏蔽了main.c中第88行的fseek(…)函数,在目前demo中提供的MP3文件以及网络下载的其他MP3文件解码均未发现此提示。

2024-07-08 19:51:55 750

原创 音频demo:使用开源项目lame来将PCM数据编码成MP3数据

本demo是使用开源项目lame来将PCM数据编码成MP3数据。(环境:x86_64 Ubuntu16.04 64位)

2024-07-08 19:47:08 629

原创 音频demo:将PCM数据与g726数据的相互转换

本demo是将使用了开源项目EasyAACEncoder里的`src/g726.cpp`(demo中的已重命名为`g726.c`)和`src/g726.h

2024-07-08 19:38:55 777

原创 音频demo:将PCM数据与alaw、mulaw、g711数据的相互转换

前言(截图来源:https://blog.youkuaiyun.com/u014470361/article/details/88837776)demo引用了开源代码和,然后在此基础上封装成和,并编写自己的测试程序进行验证。整个demo程序共5个源文件,可以编译到任意环境下使用(非类Unix系统可能需要简单调整中包含的头文件):b. 使用c. demo目录架构2、主要代码片段pcm_aulaw.cpcm_aulaw_wraper.cmain.c3、demo下载地址(任选一个)https:/

2024-07-08 19:31:59 1251

原创 音频demo:使用faad2将AAC数据解码出PCM数据

本demo是使用的开源项目faad2将aac数据解码成pcm数据。

2024-07-08 18:07:32 872

原创 音频demo:使用fdk-aac将PCM数据编码成aac数据

本demo是使用的开源项目fdk-aac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的,所以默认情况下仅支持该架构的主机上编译运行。$ make。

2024-07-08 18:00:10 918 2

原创 音频demo:使用faac将PCM数据编码成aac数据

本demo是使用的开源项目faac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的,所以默认情况下仅支持该架构的主机上编译运行。$ make。

2024-07-08 17:11:47 628

av-flv-demux-h264-aac-master.zip

将FLV文件解封装(demux)得到文件中的H264数据和AAC数据(纯手工,不依赖第三方开源库)

2024-07-09

av-flv-mux-h264-aac-master.zip

将h264数据和aac数据封装(mux)成FLV文件(纯手工,不依赖第三方开源库)

2024-07-09

av-ts-mux-with-h264-aac-master.zip

将h264数据和aac数据封装(mux)成TS文件(纯手工,不依赖第三方开源库)

2024-07-09

av-mp4-unpack-with-mp4v2-master.zip

使用libmp4v2解封装(demux)出mp4文件中的h264视频数据和aac语音数据

2024-07-09

av-mp4-pack-with-mp4v2-master.zip

使用libmp4v2将h264视频数据和aac语音数据封装(mux)成mp4文件

2024-07-09

audio-pcm-flac-enc-dec-master.zip

使用开源项目LibFLAC来将PCM格式数据和FLAC无损压缩格式进行编解码。

2024-07-08

audio-pcm-vorbis-enc-dec-master.zip

使用pcm数据跟ogg vorbis格式相互编解码。

2024-07-08

Audio-pcm-opus-enc-dec-master.zip

将PCM与opus数据相互进行编解码

2024-07-08

Audio-pcm-speex-enc-dec-master.zip

将PCM数据和Speex数据进行相互编解码

2024-07-08

audio-mp32pcm-with-libmad-master.zip

使用开源项目libmad来将MP3数据解码码成PCM数据。

2024-07-08

audio-mp32pcm-with-libmp3lame-master.zip

使用开源项目lame来将MP3数据解码码成PCM数据。

2024-07-08

audio-pcm2mp3-with-libmp3lame-master.zip

使用开源项目lame来将PCM数据编码成MP3数据。

2024-07-08

audio-pcm-g726-convert-master.zip

将16位小字节序的PCM数据与g726数据进行相互转换。

2024-07-08

audio-pcm-alaw-ulaw-g711-convert-master.zip

16位小字节序的PCM数据与alaw/mulaw/g711数据的相互转换程序。

2024-07-08

audio-aac2pcm-with-faad2-master.zip

使用的开源项目faad2将aac数据解码成pcm数据。

2024-07-08

audio-pcm2aac-with-fdk-aac-master.zip

使用fdk-aac将16位小字节序的PCM数据编码成aac数据。

2024-07-08

audio-pcm2aac-with-faac-master.zip

使用faac将16位小字节序的PCM数据编码成aac数据。

2024-07-08

audio-pcm-channel-merge-master.zip

基于16位小字节序的PCM数据左右声道合并程序。

2024-07-08

audio-pcm-channels-split-master.zip

基于16位小字节序的PCM数据左右声道分离程序。

2024-07-08

audio-pcm-amrwb-enc-dec-master.zip

使用opencore-amr和vo-amrwbenc将16位小字节序的PCM数据与AMR-WB数据进行相互编解码。

2024-07-08

audio-pcm-amrnb-enc-dec-master.zip

使用opencore-amr将16位小字节序的PCM数据与AMR-NB数据进行相互编解码。

2024-07-08

audio-pcm-wav-convert-master.zip

将16位小字节序的PCM数据与wav数据(文件)进行封装与解封。

2024-07-08

audio-pcm2wav-master.zip

将16位小字节序的PCM数据封装成wav格式文件(不依赖第三方库)。

2024-07-08

bluez协议栈移植.zip

bluez协议栈移植.zip

2024-01-03

Linux WiFi调试工具(含多种编译方法)

Linux WiFi调试工具(含多种编译方法)

2024-01-03

mjpg-streamer-1.0.0_有注释.zip

mjpg-streamer开源项目里面包含很多Linux软件编程知识,包含so动态库的操作、线程的创建与同步、UDP网络编程、V4L2应用编程.... 压缩包内容包如下: mjpg-streamer-1.0.0.tar.gz mjpg-streamer-1.0.0_有注释.zip README.txt

2021-05-05

RK3399 安卓Q适配EC20 4G模块资料

压缩包内包含以下内容: logcat -b radio -v time.log(适配成功的log) Quectel_Android_RIL_Driver_User_Guide_V1.9.pdf Quectel_Android_RIL_Driver_V3.2.2_master_beta.tgz Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf reference-ril Rockchip_Introduction_4G_Module_Configuration_CN&EN.pdf

2021-05-01

Linux WiFi调试工具的使用

wifi_debug_tools ├── dhcp-4.2.6.tar.gz ├── hostapd-2.9.tar.gz ├── iw-3.11.tar.gz ├── libnl-3.2.25.tar.gz ├── openssl-1.1.1g.tar.gz ├── README.txt ├── wireless_tools.29.tar.gz └── wpa_supplicant-2.7.tar.gz 使用方法见README。

2021-05-01

交叉编译dbus/glib/dbus-glib

. ├── dbus-1.12.20.tar.gz ├── dbus-glib-0.106.tar.gz ├── expat-2.3.0.tar.bz2 ├── glib-2.34.1.tar.xz ├── libffi-3.3.tar.gz ├── README └── zlib-1.2.11.tar.gz

2021-04-15

编译buildroot-2020.02.9.tar.bz2时自动下载所必需的源码

编译buildroot-2020.02.9.tar.bz2过程中自动联网下载到dl目录下的源码,使用这里的源码放到dl目录下可以大大减少编译时间。 book@book-VirtualBox:~/buildroot-2020.02.9$ tree dl/ dl/ ├── acl │   └── acl-2.2.53.tar.gz ├── attr │   └── attr-2.4.48.tar.gz ├── autoconf │   └── autoconf-2.69.tar.xz ├── automake │   └── automake-1.15.1.tar.xz ...

2021-01-30

Linux用户空间“免驱动”读写I2C设备

一般来说,用户空间操作硬件设备都需要驱动的支持,但是在Linux环境中可以从用户空间访问适配器上的所有设备,它是内核的一个通用驱动,所以我们不需要手动写对应的设备驱动也可以访问。 直接从用户空间访问的前提是内核里面配置了i2c-dev,如何判断呢?在命令行里面输入ls /dev/i2c-* 查看是否有对应的设备,如果没有就需要去配置内核kernel,位置如下: Device Drivers ---> -*- I2C support ---> I2C device interface

2020-05-01

空空如也

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

TA关注的人

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