本文主要是介绍Synopsys IC设计以及其他开发工具需要的ubuntu简单配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
为了学习IC设计,我要用到synopsys,这套软件需要在linux环境下运行,因此我用一台电脑单独装了ubuntu22.04系统。而ubuntu的配置加上Synopsys安装过程十分曲折,因此在此简单记录一下,以便有人遇到类似问题可以借鉴解决方法。
搜狗输入法
原系统的输入法不好用,打字还得是搜狗。
参看这里https://pinyin.sogou.com/linux/help.php
安装百度网盘
安装百度网盘http://w7.dnxtc.net/zixun/linux/2023-01-18/11558.html
vim安装及简易教程
编辑系统环境变量等需要用到vim。
参看这里https://blog.csdn.net/u014361280/article/details/128097938
vim使用教程
Linux Vim编辑器的基本使用 - 知乎一、VIM编辑器 1)vi概述 vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。 2)vim编辑器 Vim(Vi improved)是vi编辑器的加…https://zhuanlan.zhihu.com/p/638872387
vim使用(全集)-CSDN博客文章浏览阅读9.1k次,点赞8次,收藏61次。使用ifconfig命令配置网卡的ip地址。此命令通常用来零时的测试用,计算机启动后ip地址的配置将自动失效。具体用法如下。Ipconfig ethx ipadd netmask x.x.x.x。其中ethx中的x代表第几快以太网卡,默认第一块为0.ipadd代表ip地址。x.x.x..x为子网掩码。例如给网卡eth0配置的ip地址为192.168.1.1 子网掩码为 255.255.255.0 。如下下图所..._vimhttps://blog.csdn.net/h610443955/article/details/117998347
下载安装wine
安装了wine之后,可以直接在ubuntu系统上运行.exe文件,而不需要去windows系统上了。比如后面生成license要用的keygen.exe文件可以直接在ubuntu上运行。
wine安装https://blog.csdn.net/plokm789456/article/details/130210571
wine使用https://blog.csdn.net/ymz641/article/details/129110605
安装synopsys
主要参考教程https://blog.csdn.net/qq_59529218/article/details/130762709
除此之外,还需要安装其他的Synopsys eda工具,例如icc:
Ubuntu20.04下安装IC Compiler II 2019_icc2安装教程_雪天鱼的博客-CSDN博客文章浏览阅读4.3k次,点赞3次,收藏19次。转载请注明出处!作者:雪天鱼笔记同步发布在我的文章目录一、软硬件版本二、安装 Synopsys IC Compiler II三、安装SCL2018一、软硬件版本系统:Ubuntu 20.04 64位Synopsys官方安装工具SynopsysInstaller_v5.0.runICC II安装包:icc2_vP-2019.03-SP1_common.spficc2_vP-2019.03-SP1_linux64.spfSCL安装包:scl_v2018.06_common.spf_icc2安装教程https://blog.csdn.net/qq_44447544/article/details/122537301?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-122537301-blog-128768936.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-122537301-blog-128768936.235%5Ev38%5Epc_relevant_sort_base2&utm_relevant_index=1安装IC Complier 2(安装synposys的其他工具也可以来看看,因为殊途同归)_icc2安装_hjt66666的博客-CSDN博客文章浏览阅读1.2k次。安装ICC2_icc2安装https://blog.csdn.net/hjt66666/article/details/128768936
icc等eda资源附上:
【精选】IC_EDA_ALL虚拟机(丰富版):questasim、vivado、vcs、verdi、dc、pt、spyglass、icc2、synplify、INCISIVE、IC617、MMSIM、工艺库_ic设计虚拟机-CSDN博客文章浏览阅读1.1w次,点赞33次,收藏135次。1.简述我在去年推出一系列的文章,分享一步一步搭建自己IC EDA环境,受到大家的认可。上周分享了一个精简版本的EDA虚拟机,仅有50G大小;今天再分享一个工具比较全面一些的:IC_EDA_ALL虚拟机(丰富版);这个EDA比较大,有150G;具体情况请看下文近期出现不少倒卖我分享的虚拟机,甚至有培训机构拿去作为教学使用,特此严正声明:声明:该EDA虚拟机仅供个人学习使用,且为免费使用,切勿商用;出现一切问题本人概不负责。声明:该EDA虚拟机仅供个人学习使用,且为免费使用,切勿商用;出现一切问题本人_ic设计虚拟机https://blog.csdn.net/weixin_40377195/article/details/124956898?spm=1001.2014.3001.5502
安装过程中还遇到了许多问题,主要问题列举如下:
1.SynopsysInstaller_v3.2.run文件运行不了,错误信息如下:
sudo: ./SynopsysInstaller_v3.2.run:找不到命令
解决方法:先运行chmod +x SynopsysInstaller_v3.2.run,再运行./SynopsysInstaller_v3.2.run
chmod +x SynopsysInstaller_v3.2.run./SynopsysInstaller_v3.2.run
在安装primetime的时候,出现以下界面:(未解决)
2.按教程生成license时,用sssverify Synopsys.dat命令总提示license无效,我的电脑只有无线网卡,并没有无线网卡,而license是利用flexlm hostid进行认证的,lmhostid默认读取有线连接网卡,因此不能用无线网卡的mac地址。
解决方法: 网购type-c转接有线网卡,再用lmhostid命令读取外接网卡的mac地址,用该mac地址作为生成license的host id。
3.按照教程生成license文件的时候,命令行输入 sssverify Synopsys.dat 总是提示license invalid,错误信息如Valid SSS feature found. INVALID license file fingerprint. You have added 1 new features to this file.查阅资料发现解决方法如下:打开EFA LicGen 0.4b文件夹,再打开其中的packs文件夹,找到synopsys.src文件,打开将31-dec-2020关键词替换成31-dec-2030,保存后复制该文件到scl_keygen中,替换掉原来的文件,然后再按照原教程继续执行即可。
4.关于Synopsys的“design compiler is not enabled”问题 - 知乎,可以参看这里。
5.安装spyglass出现了类似如下错误信息:
spyglass: INTERNAL-ERROR, the VALUE OF `$SPYGLASS_HOME' (an internal variable) was not intuited correctly.
spyglass: The value guessed was: `SPYGLASS_HOME=/usr/synopsys/spyglass/SPYGLASS2017.12-SP2/SPYGLASS_HOME'
spyglass: INTERNAL-ERROR, the Perl 5 installation within `$SPYGLASS_HOME' could not be validated.
spyglass: A perl installation was expected at: `/usr/synopsys/spyglass/SPYGLASS2017.12-SP2/SPYGLASS_HOME/lib/multi-perl'
spyglass: either `$SPYGLASS_HOME' was guessed incorrectly or the installation is corrupted.
spyglass: NOTE, the caller's environment variable `$SPYGLASS_HOME' was ignored in this process.
查阅如下资料:(原创)Ubuntu18+ 解决SpyGlass使用报错的问题 路径设置问题、证书、报错等问题 - Linux - 我的FPGA
依旧没有解决,查询发现ubuntu22.04内核已经是6.x的版本,于是依葫芦画瓢,在原来基础上再添加
Linux-6*)if [ X"$switch32bit" = "Xyes" ]; thenecho "Linux2"elif [ X"$switch64bit" = "Xyes" ]; thenPROCNAME=`uname -p`if [ "X$PROCNAME" = "Xunknown" ]; thenPROCNAME=`uname -m`fiif [ X"$PROCNAME" = "Xx86_64" ]; thenecho "Linux4"elseecho "Linux2"fielsePROCNAME=`uname -p`if [ "X$PROCNAME" = "Xunknown" ]; thenPROCNAME=`uname -m`fiif [ X"$PROCNAME" = "Xx86_64" ]; thenif [ X"$defExeOn64Bit" = "X32" ]; thenecho "Linux2"elseecho "Linux4"fielseecho "Linux2"fifi;;
standard-environment.sh
Linux-6*) ##now we have Linux-64 bit alsoPROCNAME=`uname -p`if [ "X$PROCNAME" = "Xunknown" ]; thenPROCNAME=`uname -m`fiif [ X"$PROCNAME" = "Xx86_64" ]; thenspecies=Linux4elsespecies=Linux2fi;;
perl
6.安装好spyglass后,终端输入sg, 显示如下错误信息:
WARNING : SpyGlass is only tested on Red Hat (Enterprise Linux release 5 and higher), Suse (version 10.0 and higher) and Ubuntu (version 14.04 LTS) flavors for Linux.Detected OS kernel version'(6.2.0-34-generic)' seems to be meeting the requirements,but detected OS flavor'Linux version 6.2.0-34-generic (buildd@bos03-amd64-059) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 13:12:03 UTC 2 ' is not a tested OS flavor. SpyGlass run may have OS related issues specific to this distribution.Please contact Atrenta Support for any further queries in this regard.FATAL : Missing executable `check.Linux4' at `/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj'
打开/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj目录,发现check.Linux4已经按照教程替换,于是双击check.Linux4文件,窗口弹出提示:没有可执行权限,是否添加权限并运行,点击是,然后发现问题解决。
7.再次运行sg,发现报以下错误:(我重装系统后再次安装synopsys,并未出现该问题)
WARNING : SpyGlass is only tested on Red Hat (Enterprise Linux release 5 and higher), Suse (version 10.0 and higher) and Ubuntu (version 14.04 LTS) flavors for Linux.Detected OS kernel version'(6.2.0-34-generic)' seems to be meeting the requirements,but detected OS flavor'Linux version 6.2.0-34-generic (buildd@bos03-amd64-059) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 13:12:03 UTC 2 ' is not a tested OS flavor. SpyGlass run may have OS related issues specific to this distribution.Please contact Atrenta Support for any further queries in this regard.Warning: QGtkStyle was unable to detect the current GTK+ theme.
/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj/check.Linux4: symbol lookup error: libQtGui.so.4: undefined symbol: FT_GlyphSlot_Embolden
注意到其中:
Warning: QGtkStyle was unable to detect the current GTK+ theme.
/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj/check.Linux4: symbol lookup error: libQtGui.so.4: undefined symbol: FT_GlyphSlot_Embolden
到网上查阅资料, 发现QT4的框架在20.04及以后版本的主存储库已经删除了,也就是已经不能通过正常的apt-get安装。但是我现在又必须使用此软件,那就只能解决软件在当前系统上的依赖问题。根结在于,老软件在新系统安装运行,缺失必要的依赖库,而依赖过时了,新系统不再支持安装,导致老软件运行不起。
参考:【linux】ubuntu20.04 运行软件 提示找不到过时的库 libQtCore.so.4、libQtGui.so.4、libpng12.so.0-CSDN博客 spyglass问题:check.Linux4: symbol lookup error: libQtGui.so.t: undefined symbol: FT_GlyphSlot_Embolen - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) -
然后终端输入以下指令:
ldd '/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4'
运行结果如下:
linux-vdso.so.1 (0x00007ffc90964000)libQtCore.so.4 => not foundlibpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f970c42c000)libgthread-2.0.so.0 => /lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f970c427000)libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f970b4c6000)libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f970c40b000)libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f970b3fe000)libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f970b39e000)libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x00007f970c3fe000)libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x00007f970c3e1000)libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f970c3d4000)libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f970b354000)libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f970c3bd000)libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f970b214000)libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f970ae00000)libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f970b12d000)libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f970b10d000)libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f970aa00000)libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f970b097000)libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f970b05c000)libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f970b04e000)libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f970b041000)libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f970c3b2000)libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f970ade8000)libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f970adb7000)libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f970ad8d000)/lib64/ld-linux-x86-64.so.2 (0x00007f970c44d000)libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f970ad6a000)libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f970b032000)libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f970b02c000)libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f970ad60000)
发现其中缺乏libQtCore.so.4的库,查阅资料找到该库的安装包:
Debian -- Package Download Selection -- libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb
下载完后,sudo dpkg -i libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb,然后再输入指令
ldd '/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4' 发现该库已经被安装成功。
而其中Warning: QGtkStyle was unable to detect the current GTK+ theme.
这是因为在 Linux 系统中运行 Qt 应用程序时缺少相关的 GTK+ 库导致的。可以尝试执行以下命令来安装相关的 GTK+ 库:
sudo apt-get install gtk2-engines-pixbuf
安装simics+solaris 9 sparc并运行memory complier
使用wine安装
simics虚拟机+solaris 9 sparc系统运行memory compilerhttps://blog.csdn.net/qq_42446721/article/details/127297546
【精选】simics安装solaris9,成功运行memory compiler_simics 安装_芯语新源的博客-CSDN博客文章浏览阅读1.6k次,点赞2次,收藏8次。simics安装solaris9,成功运行memory compiler_simics 安装https://blog.csdn.net/dinsh3100/article/details/124361042
其中memory compiler可以使用ftp协议进行传输,linux下ftp使用方法如下:
linux下FTP使用_51CTO博客_linux下ftp命令详解linux下FTP使用,如何在linux下开启FTP服务1.首先服务器要安装ftp软件,查看是否已经安装ftp软件下:#whichvsftpd如果看到有vsftpd的目录说明服务器已经安装了ftp软件2.查看ftp服务器状态#servicevsftpdstatus3.启动ftp服务器#service...https://blog.51cto.com/u_15069472/3544107
美化桌面环境
我安装的是KDE桌面环境。
kdehttps://blog.csdn.net/qq_46530073/article/details/130563526
安装quartus
我安装的是18.1Lite版本
下载quartus(Altera FPGA软件),在Linux系统安装与运行 - 知乎FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路…https://zhuanlan.zhihu.com/p/572560623
quartus入门级使用方法:
Quartus II 13.1入门级使用方法 适用于小白_quartus使用教程-CSDN博客文章浏览阅读2.1w次,点赞58次,收藏382次。对于学习FPGA的初学者而言,使用Altera公司芯片的开发板价格较为便宜,参考的资料也多,而与之配套的就是Quartus II开发软件。小白自己使用的就是Quartus II 13.1版本,下面用一个计数器的verilog代码为例,简述一下Quartus II的入门级使用和调用Modelsim仿真的方法。1:首先养成一个良好的习惯,在做工程前建立一个良好的工程文档(目的是让你自己可以找到该工程!!!)。本次工程文档命名cnt,小白呢,喜欢将工程文档内部分为以下四个文档:doc(放文件资料),par.._quartus使用教程https://blog.csdn.net/qq_47924403/article/details/118945169
https://www.cnblogs.com/blog-address/p/16153705.htmlhttps://www.cnblogs.com/blog-address/p/16153705.html
verilog学习笔记- 1)Quartus软件的使用-物联沃-IOTWORD物联网基于verilog的FPGA开发,如何建立一个完整的工程并且下载烧录...https://www.iotword.com/10564.html
安装星火应用商店
星火应用商店中有很多windows中的app,例如微信网易云wps等,直接下载完后就可以使用,非常方便。 参看这里https://blog.csdn.net/Steven_Start/article/details/124559913
安装matlab
matlab安装以及简单配置
Ubuntu系统安装matlab_matlab ubuntu_绿竹巷人的博客-CSDN博客Ubuntu20.04安装matlab2015b的过程。_matlab ubuntuhttps://blog.csdn.net/weixin_42156097/article/details/128562637
如何配置Linux版Matlab(快捷键、字体、颜色) - 知乎由于系统原因,Linux版Matlab使用起来不像Mac版那么舒服,但由于服务器一般都是使用Linux系统,在使用一些大型数据集时,常常要用到Linux版Matlab,这里就分享一下自己的一些配置。 先来看下效果吧: 1.快捷键设置…https://zhuanlan.zhihu.com/p/447994364
系统备份与恢复
timeshift备份https://blog.51cto.com/u_13157605/6039282 关于以下问题
mkfs.ext4 /dev/sda1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sda1 已经挂载; 将不会在此创建文件系统!
可以先将这个分区取消挂载后再重新格式化,输入:
umount /dev/sdb1
然后再进行以上步骤,这样就可以成功格式化了,然后再重新挂载分区即可。
Linux脚本学习
Linux脚本:Bash脚本看这一篇就够了_linux bash脚本_Lion King的博客-CSDN博客文章浏览阅读5.6k次,点赞11次,收藏116次。Linux脚本有很多解析器(Shell),不同解析器要求的脚本语法是不一样的。系统在解析脚本时,如果没有在脚本声明指定解析器,则会采用系统默认解析器来对脚本进行解析。sh是非常重要解析器,历史很悠久,地位很牢固。特别地,Bash是用途最广的Shell,而且是兼容sh的解析器,因此本文着重Bash Shell的研究。_linux bash脚本https://blog.csdn.net/weixin_43431593/article/details/127550041
linux桌面启动器.desktop文件编写
.desktop文件-CSDN博客文章浏览阅读3.8k次,点赞2次,收藏16次。一、.desktop文件是什么在 Linux 中,一个 文件就是一个用来运行程序的快捷方式,也叫启动器,或者桌面项。基本上就是一个包含程序信息的纯文本文件。没有 的话,你的应用就不会在应用菜单中显示了。二、.desktop文件的位置 文件,通常放在 或者 目录中。三、如何创建桌面启动器大多数应用在安装后都会自动创建 文件。然而,如果是你自己从源代码编译的程序或者自己下载的压缩格式的应用,那就不会做这些事情了,每次你都需要打开终端来执行它的二进制文件。显然这个过程很无聊也很麻烦。此时需要手动创建.d_.desktop文件https://blog.csdn.net/inxunxun/article/details/128177918
创建并使用Linux桌面启动器(.Desktop文件) - firefox样例_51CTO博客_Linux启动桌面创建并使用Linux桌面启动器(.Desktop文件) - firefox样例,语法简介以Firefox为例,文件内容如下:[DesktopEntry]Name=firefoxName[zh_CN]=火狐浏览器Comment=火狐浏览器Exec=/home/jimmy/Soft/firefox/firefoxIcon=/home/jimmy/Soft/firefhttps://blog.51cto.com/u_11103019/3765616
Linux系统创建程序启动器(桌面快捷方式图标)_linux创建启动器_码力巨能编的博客-CSDN博客文章浏览阅读1.5k次。目标执行程序可以在任意目录,但是启动器必须在该目录下。在该目录下操作文件需要管理员权限,建议创建好启动器文件后再使用管理员权限拷贝到该目录。以.desktop后缀的文件。管理员权限拷贝文件。........._linux创建启动器https://blog.csdn.net/qq_30386941/article/details/126277438
安装keil5
参看这里https://blog.csdn.net/q544344318/article/details/129014030
安装vscode开发STM3
VSCode+gcc开发STM32教程_linux 编译stm32_指针到处飞的博客-CSDN博客文章浏览阅读2.1k次,点赞6次,收藏35次。最近在使用Keil开发STM32的时候总感觉代码写起来很很费劲,然后打算用vscode试试,刚开始用的是KeilAssitance这个插件,本质还是使用Keil进行配置,vscode写代码,体验了一下感觉还是不方便。后来想到了Linux,毕竟在写代码这方面,Linux的体验还是非常棒的。_linux 编译stm32https://blog.csdn.net/weixin_51954217/article/details/129350873
安装matlab
可以参考一下这篇文章:
Ubuntu 16.04 安装Matlab R2015b-CSDN博客
途中遇到一些问题,参考一下这篇文章:
Linux下安装MATLAB教程_archive is not a zip archive matlab-CSDN博客
其余参考文章:
ubuntu18.04安装Synopsys系列软件 | 易学教程
WIN10和Ubuntu双系统安装以及Synopsys工具环境的搭建_synopsys安装_小靴子是社牛的博客-CSDN博客
Synopsys EDA Tools安装和使用过程中出现的问题及解决方法 - 知乎
ubuntu18.04安装VCS+verdi错误集锦_error-[debug-prcwdbg] dve/verdi debug flag error d-CSDN博客
数字IC设计的第一步——Synopsys EDA Tools的安装_csdn 数字ic设计的第一步 wellcj-CSDN博客
这篇关于Synopsys IC设计以及其他开发工具需要的ubuntu简单配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!