1<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>åç±» | GaryMK</title><meta name="author" content="Gary MK,[email protected]"><meta name="copyright" content="Gary MK"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="ffffff"><meta name="description" content="ç¨åºå¼åä¸ç®æ³ç ç©¶"> 2<meta property="og:type" content="website"> 3<meta property="og:title" content="åç±»"> 4<meta property="og:url" content="https://garymk.cn/categories/index.html"> 5<meta property="og:site_name" content="GaryMK"> 6<meta property="og:description" content="ç¨åºå¼åä¸ç®æ³ç ç©¶"> 7<meta property="og:locale" content="zh_CN"> 8<meta property="og:image" content="https://file.crazywong.com/gh/jerryc127/CDN@latest/cover/default_bg.png"> 9<meta property="article:published_time" content="2020-11-03T04:38:37.000Z"> 10<meta property="article:modified_time" content="2020-11-03T04:38:37.000Z"> 11<meta property="article:author" content="Gary MK"> 12<meta name="twitter:card" content="summary"> 13<meta name="twitter:image" content="https://file.crazywong.com/gh/jerryc127/CDN@latest/cover/default_bg.png"><link rel="shortcut icon" href="/img/favicon.ico"><link rel="canonical" href="https://garymk.cn/categories/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//www.google-analytics.com" crossorigin=""/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//fonts.googleapis.com" crossorigin=""/><meta name="google-site-verification" content="HEHvITU5ivSY_I-Y28VZuf7PUipzf-qPR7w9Uz1csDA"/><meta name="baidu-site-verification" content="codeva-f6yev5EHVP"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'">
13<script>var _hmt = _hmt || []; 14(function() { 15 var hm = document.createElement("script"); 16 hm.src = "https://hm.baidu.com/hm.js?1d3a6cf1a7d8ae018523cb3684a27486"; 17 var s = document.getElementsByTagName("script")[0]; 18 s.parentNode.insertBefore(hm, s); 19})(); 20</script>
vendor: 71 bytes, line 20
20<script async="async" src="https://www.googletagmanager.com/gtag/js?id=
20G-5G6KHDXYS9
vendor: 11 bytes, line 20
20"></script>
20<script>
vendor: 127 bytes, lines 20-23
20window.dataLayer = window.dataLayer || []; 21function gtag(){dataLayer.push(arguments);} 22gtag('js', new Date()); 23gtag('config', '
23G-5G6KHDXYS9
vendor: 4 bytes, line 23
23');
24</script>
24<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web&display=swap" media="print" onload="this.media='all'">
24<script>const GLOBAL_CONFIG = { 25 root: '/', 26 algolia: undefined, 27 localSearch: {"path":"/search.xml","preload":false,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"æ¾ä¸å°æ¨æ¥è¯¢çå 容ï¼${query}","hits_stats":"å ±æ¾å° ${hits} ç¯æç« "}}, 28 translate: {"defaultEncoding":1,"translateDelay":0,"msgToTraditionalChinese":"ç¹","msgToSimplifiedChinese":"ç°¡"}, 29 noticeOutdate: {"limitDay":1000,"position":"top","messagePrev":"It has been","messageNext":"days since the last update, the content of the article may be outdated."}, 30 highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false}, 31 copy: { 32 success: 'å¤å¶æå', 33 error: 'å¤å¶é误', 34 noSupport: 'æµè§å¨ä¸æ¯æ' 35 }, 36 relativeDate: { 37 homepage: true, 38 post: false 39 }, 40 runtime: '天', 41 dateSuffix: { 42 just: 'åå', 43 min: 'åéå', 44 hour: 'å°æ¶å', 45 day: '天å', 46 month: '个æå' 47 }, 48 copyright: {"limitCount":50,"languages":{"author":"ä½è : Gary MK","link":"龿¥: ","source":"æ¥æº: GaryMK","info":"è使å½ä½è ææãåä¸è½¬è½½è¯·èç³»ä½è è·å¾ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã"}}, 49 lightbox: 'fancybox', 50 Snackbar: {"chs_to_cht":"ä½ å·²åæ¢ä¸ºç¹ä½","cht_to_chs":"ä½ å·²åæ¢ä¸ºç®ä½","day_to_night":"ä½ å·²åæ¢ä¸ºæ·±è²æ¨¡å¼","night_to_day":"ä½ å·²åæ¢ä¸ºæµ è²æ¨¡å¼","bgLight":"#49b1f5","bgDark":"#1f1f1f","position":"bottom-left"}, 51 source: { 52 justifiedGallery: { 53 js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js', 54 css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css' 55 } 56 }, 57 isPhotoFigcaption: true, 58 islazyload: false, 59 isAnchor: false, 60 percent: { 61 toc: true, 62 rightside: true, 63 }, 64 autoDarkmode: false 65}</script>
65<script id="config-diff">var GLOBAL_CONFIG_SITE = { 66 title: 'åç±»', 67 isPost: false, 68 isHome: false, 69 isHighlightShrink: false, 70 isToc: false, 71 postUpdate: '2020-11-03 12:38:37' 72}</script>
72<noscript><style type="text/css"> 73 #nav { 74 opacity: 1 75 } 76 .justified-gallery img { 77 opacity: 1 78 } 79 80 #recent-posts time, 81 #post-meta time { 82 display: inline !important 83 } 84</style></noscript>
84<script>(win=>{ 85 win.saveToLocal = { 86 set: function setWithExpiry(key, value, ttl) { 87 if (ttl === 0) return 88 const now = new Date() 89 const expiryDay = ttl * 86400000 90 const item = { 91 value: value, 92 expiry: now.getTime() + expiryDay, 93 } 94 localStorage.setItem(key, JSON.stringify(item)) 95 }, 96 97 get: function getWithExpiry(key) { 98 const itemStr = localStorage.getItem(key) 99 100 if (!itemStr) { 101 return undefined 102 } 103 const item = JSON.parse(itemStr) 104 const now = new Date() 105 106 if (now.getTime() > item.expiry) { 107 localStorage.removeItem(key) 108 return undefined 109 } 110 return item.value 111 } 112 } 113 114 win.getScript = url => new Promise((resolve, reject) => { 115 const script = document.createElement('script') 116 script.src = url 117 script.async = true 118 script.onerror = reject 119 script.onload = script.onreadystatechange = function() { 120 const loadState = this.readyState 121 if (loadState && loadState !== 'loaded' && loadState !== 'complete') return 122 script.onload = script.onreadystatechange = null 123 resolve() 124 } 125 document.head.appendChild(script) 126 }) 127 128 win.getCSS = (url,id = false) => new Promise((resolve, reject) => { 129 const link = document.createElement('link') 130 link.rel = 'stylesheet' 131 link.href = url 132 if (id) link.id = id 133 link.onerror = reject 134 link.onload = link.onreadystatechange = function() { 135 const loadState = this.readyState 136 if (loadState && loadState !== 'loaded' && loadState !== 'complete') return 137 link.onload = link.onreadystatechange = null 138 resolve() 139 } 140 document.head.appendChild(link) 141 }) 142 143 win.activateDarkMode = function () { 144 document.documentElement.setAttribute('data-theme', 'dark') 145 if (document.querySelector('meta[name="theme-color"]') !== null) { 146 document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d') 147 } 148 } 149 win.activateLightMode = function () { 150 document.documentElement.setAttribute('data-theme', 'light') 151 if (document.querySelector('meta[name="theme-color"]') !== null) { 152 document.querySelector('meta[name="theme-color"]').setAttribute('content', 'ffffff') 153 } 154 } 155 const t = saveToLocal.get('theme') 156 157 if (t === 'dark') activateDarkMode() 158 else if (t === 'light') activateLightMode() 159 160 const asideStatus = saveToLocal.get('aside-status') 161 if (asideStatus !== undefined) { 162 if (asideStatus === 'hide') { 163 document.documentElement.classList.add('hide-aside') 164 } else { 165 document.documentElement.classList.remove('hide-aside') 166 } 167 } 168 169 const detectApple = () => { 170 if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){ 171 document.documentElement.classList.add('apple') 172 } 173 } 174 detectApple() 175 })(window)</script>
175<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="GaryMK" type="application/atom+xml"> 176</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://wx.qlogo.cn/mmhead/Q3auHgzwzM40NV46MrdfnryFg6EIMAlt8uO7tfbtbs6XH9W2Z1Opfw/0" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">æç« </div><div class="length-num">36</div></a><a href="/tags/"><div class="headline">æ ç¾</div><div class="length-num">19</div></a><a href="/categories/"><div class="headline">åç±»</div><div class="length-num">13</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> Music</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> Movie</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="not-home-page fixed" id="page-header" style="background-image: url('/img/messageboard.jpg')"><nav id="nav"><span id="blog-info"><a href="/" title="GaryMK"><span class="site-name">GaryMK</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> æç´¢</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> Music</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> Movie</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="page-site-info"><h1 id="site-title">åç±»</h1></div></header><main class="layout" id="content-inner"><div id="page"><div class="category-lists"><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Debug/">Debug</a><span class="category-list-count">2</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Debug/Web/">Web</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/MStar/">
176MStar</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B7%A5%E4%BD%9C/">å·¥ä½</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%BC%80%E5%8F%91/">å¼å</a><span class="category-list-count">7</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/">ç¯å¢é
ç½®</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/">ç®æ³</a><span class="category-list-count">4</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/%E6%9C%9F%E5%88%8A/">æå</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/">ç®æ æ£æµ</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/">èªç¶è¯è¨å¤ç</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB/">论æé
读</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E9%9A%8F%E8%AE%B0/">éè®°</a><span class="category-list-count">11</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E9%9D%A2%E7%BB%8F/">é¢ç»</a><span class="category-list-count">2</span></li></ul></div><hr class="custom-hr"/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> è¯è®º</span></div></div><div class="comment-wrap"><div><div id="waline-wrap"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://wx.qlogo.cn/mmhead/Q3auHgzwzM40NV46MrdfnryFg6EIMAlt8uO7tfbtbs6XH9W2Z1Opfw/0" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Gary MK</div><div class="author-info__description">
176ç¨åºå¼åä¸ç®æ³ç ç©¶</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">æç« </div><div class="length-num">36</div></a><a href="/tags/"><div class="headline">æ ç¾</div><div class="length-num">19</div></a><a href="/categories/"><div class="headline">åç±»</div><div class="length-num">13</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/GaryMK"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="/img/weixin.png" target="_blank" title="WeChat"><i class="fa-brands fa-weixin" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://github.com/garymk" target="_blank" title="Github"><i class="fab fa-github" style="color: #4a7dbe;"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fa-solid fa-rss" style="color: #4a7dbe;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>å ¬å</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>ææ°æç« </span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/05/08/Mac%EF%BC%88ARM%EF%BC%89%E4%B8%8B%E7%BC%96%E8%AF%91OLLVM%E5%B9%B6%E9%9B%86%E6%88%90NDK25/" title="Macï¼ARMï¼ä¸ç¼è¯OLLVMå¹¶éæNDK25">Macï¼ARMï¼ä¸ç¼è¯OLLVMå¹¶éæNDK25</a><time datetime="2025-05-08T13:32:16.000Z" title="åè¡¨äº 2025-05-08 21:32:16">2025-05-08</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/12/13/ProjectA/" title="ProjectA">ProjectA</a><time datetime="2023-12-13T09:29:11.000Z" title="åè¡¨äº 2023-12-13 17:29:11">2023-12-13</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/12/13/MAC%E8%AE%BE%E7%BD%AE%E6%98%BE%E7%A4%BA%E9%9A%90%E8%97%8F%E6%96%87%E4%BB%B6/" title="MAC设置æ¾ç¤ºéèæä»¶">MAC设置æ¾ç¤ºéèæä»¶</a><time datetime="2023-12-13T06:49:03.000Z" title="åè¡¨äº 2023-12-13 14:49:03">2023-12-13</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/12/11/RN%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/" title="RNç¯å¢é ç½®">RNç¯å¢é ç½®</a><time datetime="2023-12-11T13:49:48.000Z" title="åè¡¨äº 2023-12-11 21:49:48">2023-12-11</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/12/11/zsh%E5%AE%89%E8%A3%85%E5%8F%8A%E9%85%8D%E7%BD%AE/" title="zshå®è£ åé ç½®">zshå®è£ åé ç½®</a><time datetime="2023-12-11T13:24:32.000Z" title="åè¡¨äº 2023-12-11 21:24:32">2023-12-11</time></div></div></div></div><div class="card-widget" id="card-newest-comments"><div class="item-headline"><i class="fas fa-comment-dots"></i><span>ææ°è¯è®º</span></div><div class="aside-list"><span>æ£å¨å è½½ä¸...</span></div></div><div class="card-widget card-categories"><div class="item-headline"> 177 <i class="fas fa-folder-open"></i> 178 <span>åç±»</span> 179 <a class="card-more-btn" href="/categories/" title="æ¥çæ´å¤"> 180 <i class="fas fa-angle-right"></i></a> 181 </div> 182 <ul class="card-category-list" id="aside-cat-list"> 183 <li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Debug/"><span class="card-category-list-name">Debug</span><span class="card-category-list-count">2</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Debug/Web/"><span class="card-category-list-name">Web</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/MStar/"><span class="card-category-list-name">MStar</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%B7%A5%E4%BD%9C/"><span class="card-category-list-name">å·¥ä½</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%BC%80%E5%8F%91/"><span class="card-category-list-name">å¼å</span><span class="card-category-list-count">7</span></a></li><li class="card-category-list-item ">
183<a class="card-category-list-link" href="/categories/%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/"><span class="card-category-list-name">ç¯å¢é ç½®</span><span class="card-category-list-count">5</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%AE%97%E6%B3%95/"><span class="card-category-list-name">ç®æ³</span><span class="card-category-list-count">4</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%AE%97%E6%B3%95/%E6%9C%9F%E5%88%8A/"><span class="card-category-list-name">æå</span><span class="card-category-list-count">1</span></a></li></ul></li> 184 </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>æ ç¾</span></div><div class="card-tag-cloud"><a href="/tags/%E9%9A%8F%E8%AE%B0/" style="font-size: 1.15em; color: rgb(131, 138, 120)">éè®°</a><a href="/tags/Android/" style="font-size: 1.15em; color: rgb(24, 45, 43)">Android</a><a href="/tags/Java/" style="font-size: 1.15em; color: rgb(44, 32, 97)">Java</a><a href="/tags/CV/" style="font-size: 1.45em; color: rgb(58, 26, 84)">CV</a><a href="/tags/Git/" style="font-size: 1.45em; color: rgb(112, 126, 66)">Git</a><a href="/tags/Javascript/" style="font-size: 1.15em; color: rgb(82, 5, 138)">Javascript</a><a href="/tags/Python/" style="font-size: 1.15em; color: rgb(19, 173, 142)">Python</a><a href="/tags/Qt%E5%BC%80%E5%8F%91/" style="font-size: 1.15em; color: rgb(40, 31, 118)">Qtå¼å</a><a href="/tags/SCI/" style="font-size: 1.15em; color: rgb(82, 123, 83)">SCI</a><a href="/tags/Typora/" style="font-size: 1.15em; color: rgb(27, 126, 178)">Typora</a><a href="/tags/PicGo/" style="font-size: 1.15em; color: rgb(77, 151, 9)">PicGo</a><a href="/tags/Redis/" style="font-size: 1.15em; color: rgb(1, 164, 9)">Redis</a><a href="/tags/zsh/" style="font-size: 1.15em; color: rgb(65, 41, 177)">zsh</a><a href="/tags/%E9%87%91%E8%9E%8D%E5%AD%A6/" style="font-size: 1.15em; color: rgb(45, 100, 165)">éèå¦</a><a href="/tags/%E6%A1%86%E6%9E%B6/" style="font-size: 1.15em; color: rgb(167, 137, 189)">æ¡æ¶</a><a href="/tags/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/" style="font-size: 1.15em; color: rgb(175, 48, 196)">强åå¦ä¹ </a><a href="/tags/BERT%E6%A8%A1%E5%9E%8B/" style="font-size: 1.15em; color: rgb(51, 192, 155)">BERT模å</a><a href="/tags/%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F/" style="font-size: 1.15em; color: rgb(197, 106, 59)">æ¨èç³»ç»</a><a href="/tags/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/" style="font-size: 1.15em; color: rgb(122, 165, 141)">项ç®ç®¡ç</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>彿¡£</span><a class="card-more-btn" href="/archives/" title="æ¥çæ´å¤"> 185 <i class="fas fa-angle-right"></i></a></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2025/05/"><span class="card-archive-list-date">äºæ 2025</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/12/"><span class="card-archive-list-date">åäºæ 2023</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/08/"><span class="card-archive-list-date">å «æ 2023</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/07/"><span class="card-archive-list-date">䏿 2023</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/06/"><span class="card-archive-list-date">å æ 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/02/"><span class="card-archive-list-date">äºæ 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/09/"><span class="card-archive-list-date">乿 2021</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/08/"><span class="card-archive-list-date">å «æ 2021</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>ç½ç«èµè®¯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">æç« æ°ç® :</div><div class="item-count">36</div></div><div class="webinfo-item"><div class="item-name">å·²è¿è¡æ¶é´ :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-12-25T16:00:00.000Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">æ¬ç«æ»åæ° :</div><div class="item-count">53.1k</div></div><div class="webinfo-item"><div class="item-name">æ¬ç«è®¿å®¢æ° :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">æ¬ç«æ»è®¿é®é :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">æåæ´æ°æ¶é´ :</div><div class="item-count" id="last-push-date" data-lastPushDate="2025-12-23T17:07:04.071Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('/img/messageboard.jpg')"><div id="footer-wrap"><div class="copyright">©2020 - 2025 By Gary MK</div><div class="framework-info"><span>æ¡æ¶ </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>ä¸»é¢ </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">Hi, welcome to my <a target="_blank" rel="noopener" href="https://garymk.github.io/GaryMK.github.io/">blog</a>!</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="translateLink" type="button" title="ç®ç¹è½¬æ¢">ç°¡</button><button id="darkmode" type="button" title="æµ è²åæ·±è²æ¨¡å¼è½¬æ¢"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="åæ ååæ åæ¢"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><a id="to_comment" href="#post-comment" title="ç´è¾¾è¯è®º"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="åå°é¡¶é¨"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div>
185<script src="/js/utils.js"></script>
185<script src="/js/main.js"></script>
185<script src="/js/tw_cn.js"></script>
185<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script>
185<script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script>
185<script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script>
185<div class="js-pjax">
185<script>function loadWaline () { 186 function initWaline () { 187 const waline = Waline.init(Object.assign({ 188 el: '#waline-wrap', 189 serverURL: 'https://waline.garymk.cn', 190 pageview: true, 191 dark: 'html[data-theme="dark"]', 192 path: window.location.pathname, 193 comment: false, 194 }, null)) 195 } 196 197 if (typeof Waline === 'object') initWaline() 198 else { 199 getCSS('https://cdn.jsdelivr.net/npm/@waline/client/dist/waline.min.css').then(() => { 200 getScript('https://cdn.jsdelivr.net/npm/@waline/client/dist/waline.min.js').then(initWaline) 201 }) 202 } 203} 204 205if ('Waline' === 'Waline' || !false) { 206 if (false) btf.loadComment(document.getElementById('waline-wrap'),loadWaline) 207 else setTimeout(loadWaline, 0) 208} else { 209 function loadOtherComment () { 210 loadWaline() 211 } 212}</script>
212</div>
212<script>window.addEventListener('load', () => { 213 const changeContent = content => { 214 if (content === '') return content 215 216 content = content.replace(/<img.*?src="(.*?)"?[^\>]+>/ig, '[å¾ç]') // replace image link 217 content = content.replace(/<a[^>]+?href=["']?([^"']+)["']?[^>]*>([^<]+)<\/a>/gi, '[龿¥]') // replace url 218 content = content.replace(/<pre><code>.*?<\/pre>/gi, '[代ç ]') // replace code 219 content = content.replace(/<[^>]+>/g,"") // remove html tag 220 221 if (content.length > 150) { 222 content = content.substring(0,150) + '...' 223 } 224 return content 225 } 226 227 const generateHtml = array => { 228 let result = '' 229 230 if (array.length) { 231 for (let i = 0; i < array.length; i++) { 232 result += '<div class=\'aside-list-item\'>' 233 234 if (true) { 235 const name = 'src' 236 result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>` 237 } 238 239 result += `<div class='content'> 240 <a class='comment' href='${array[i].url}' title='${array[i].content}'>${array[i].content}</a> 241 <div class='name'><span>${array[i].nick} / </span><time datetime="${array[i].date}">${btf.diffDate(array[i].date, true)}</time></div> 242 </div></div>` 243 } 244 } else { 245 result += '没æè¯è®º' 246 } 247 248 let $dom = document.querySelector('#card-newest-comments .aside-list') 249 $dom.innerHTML= result 250 window.lazyLoadInstance && window.lazyLoadInstance.update() 251 window.pjax && window.pjax.refresh($dom) 252 } 253 254 const getComment = async () => { 255 try { 256 const res = await fetch('https://waline.garymk.cn/api/comment?type=recent&count=6', { method: 'GET' }) 257 const result = await res.json() 258 const walineArray = result.data.map(e => { 259 return { 260 'content': changeContent(e.comment), 261 'avatar': e.avatar, 262 'nick': e.nick, 263 'url': e.url + '#' + e.objectId, 264 'date': e.time || e.insertedAt 265 } 266 }) 267 saveToLocal.set('waline-newest-comments', JSON.stringify(walineArray), 10/(60*24)) 268 generateHtml(walineArray) 269 } catch (err) { 270 console.error(err) 271 const $dom = document.querySelector('#card-newest-comments .aside-list') 272 $dom.textContent= "æ æ³è·åè¯è®ºï¼è¯·ç¡®è®¤ç¸å ³é ç½®æ¯å¦æ£ç¡®" 273 } 274 } 275 276 const newestCommentInit = () => { 277 if (document.querySelector('#card-newest-comments .aside-list')) { 278 const data = saveToLocal.get('waline-newest-comments') 279 if (data) { 280 generateHtml(JSON.parse(data)) 281 } else { 282 getComment() 283 } 284 } 285 } 286 287 newestCommentInit() 288 document.addEventListener('pjax:complete', newestCommentInit) 289})</script>
289<script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script>
289<script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/activate-power-mode.min.js"></script>
289<script>POWERMODE.colorful = true; 290POWERMODE.shake = true; 291POWERMODE.mobile = false; 292document.body.addEventListener('input', POWERMODE); 293</script>
293<script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script>
293<script src="https://cdn.jsdelivr.net/npm/pjax/pjax.min.js"></script>
293<script>let pjaxSelectors = ["head > title","#config-diff","#body-wrap","#rightside-config-hide","#rightside-config-show",".js-pjax"] 294 295var pjax = new Pjax({ 296 elements: 'a:not([target="_blank"]):not([href="/music/"]):not([href="/no-pjax/"])', 297 selectors: pjaxSelectors, 298 cacheBust: false, 299 analytics: true, 300 scrollRestoration: false 301}) 302 303document.addEventListener('pjax:send', function () { 304 305 // removeEventListener scroll 306 window.tocScrollFn && window.removeEventListener('scroll', window.tocScrollFn) 307 window.scrollCollect && window.removeEventListener('scroll', scrollCollect) 308 309 document.getElementById('rightside').style.cssText = "opacity: ''; transform: ''" 310 311 if (window.aplayers) { 312 for (let i = 0; i < window.aplayers.length; i++) { 313 if (!window.aplayers[i].options.fixed) { 314 window.aplayers[i].destroy() 315 } 316 } 317 } 318 319 typeof typed === 'object' && typed.destroy() 320 321 //reset readmode 322 const $bodyClassList = document.body.classList 323 $bodyClassList.contains('read-mode') && $bodyClassList.remove('read-mode') 324 325 typeof disqusjs === 'object' && disqusjs.destroy() 326}) 327 328document.addEventListener('pjax:complete', function () { 329 window.refreshFn() 330 331 document.querySelectorAll('script[data-pjax]').forEach(item => { 332 const newScript = document.createElement('script') 333 const content = item.text || item.textContent || item.innerHTML || "" 334 Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value)) 335 newScript.appendChild(document.createTextNode(content)) 336 item.parentNode.replaceChild(newScript, item) 337 }) 338 339 GLOBAL_CONFIG.islazyload && window.lazyLoadInstance.update() 340 341 typeof panguInit === 'function' && panguInit() 342 343 // google analytics 344 typeof gtag === 'function' && gtag('config', 'G-5G6KHDXYS9', {'page_path': window.location.pathname}); 345 346 // baidu analytics 347 typeof _hmt === 'object' && _hmt.push(['_trackPageview',window.location.pathname]); 348 349 typeof loadMeting === 'function' && document.getElementsByClassName('aplayer').length && loadMeting() 350 351 // prismjs 352 typeof Prism === 'object' && Prism.highlightAll() 353}) 354 355document.addEventListener('pjax:error', (e) => { 356 if (e.request.status === 404) { 357 pjax.loadUrl('/404.html') 358 } 359})</script>
359<script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
359<div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">æç´¢</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> æ°æ®åºå è½½ä¸</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="æç´¢æç« " type="text"/></div></div><hr/><div class="no-result" id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div>
359<script src="/js/search/local-search.js"></script>
359</div></div></body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.