3ee8d98272 2023-10-14 1: <!DOCTYPE html>
3ee8d98272 2023-10-14 2: <html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
3ee8d98272 2023-10-14 3: <head>
3ee8d98272 2023-10-14 4: <meta charset="utf-8" />
3ee8d98272 2023-10-14 5: <meta name="generator" content="pandoc" />
3ee8d98272 2023-10-14 6: <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
3ee8d98272 2023-10-14 7: <title>ygopro_编译</title>
3ee8d98272 2023-10-14 8: <style>
3ee8d98272 2023-10-14 9: code{white-space: pre-wrap;}
3ee8d98272 2023-10-14 10: span.smallcaps{font-variant: small-caps;}
3ee8d98272 2023-10-14 11: div.columns{display: flex; gap: min(4vw, 1.5em);}
3ee8d98272 2023-10-14 12: div.column{flex: auto; overflow-x: auto;}
3ee8d98272 2023-10-14 13: div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
3ee8d98272 2023-10-14 14:
3ee8d98272 2023-10-14 15: ul.task-list[class]{list-style: none;}
3ee8d98272 2023-10-14 16: ul.task-list li input[type="checkbox"] {
3ee8d98272 2023-10-14 17: font-size: inherit;
3ee8d98272 2023-10-14 18: width: 0.8em;
3ee8d98272 2023-10-14 19: margin: 0 0.8em 0.2em -1.6em;
3ee8d98272 2023-10-14 20: vertical-align: middle;
3ee8d98272 2023-10-14 21: }
3ee8d98272 2023-10-14 22: .display.math{display: block; text-align: center; margin: 0.5rem auto;}
3ee8d98272 2023-10-14 23: </style>
3ee8d98272 2023-10-14 24: <style type="text/css">@media screen and (min-aspect-ratio:1/1) {html {background-color: f8f8f8;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 8px 8px;background-position: 0 0, 16px 8px;}body {border: solid #a0a0a0 1px ;border-radius: 20px ;padding: 26px ;margin: 16px ;color: #101010 ;background: linear-gradient(to right, #efefefff, #efefeffc);padding: 2em 11%;line-height: 2.1em;box-shadow: 0px 0px 1px rgba(160, 160, 160, 1), 0px 0px 1px rgba(160, 160, 160, 1);}}h1,h2,h3,h4,h5,h6 {font-size: 1.5em;color: #3F5770;border-bottom: 1px solid #dddddd;margin: 1.2em 0em;}a {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;background-color: white;text-decoration-color: blue;border-radius: 0.2em;}a:visited {color: blue;text-decoration-color: white;}a:active {color: red;}nav ul li {margin: 1.2em 0em;}p::before {}p {margin: 1.2em 0;letter-spacing: 0.15em;}.title {background-color: white;font-size: 2em;text-align: center;}b {background-color: white;list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;border-radius: 0.2em;}details {border-bottom: 1px solid #dddddd;}details > summary {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;outline: none;border-radius: 0.2em;}pre {background: #f6f6f6;border-left: 0.5em solid #ccc;padding: 0.4em;border-radius: 0.2em;overflow-wrap:break-word;}pre:active {color: red;}code {font-family: "Verdana";}button {background: #ffffff;color: #20894d;}button:active {color: red;}</style>
3ee8d98272 2023-10-14 25: <!--[if lt IE 9]>
3ee8d98272 2023-10-14 26: <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
3ee8d98272 2023-10-14 27: <![endif]-->
3ee8d98272 2023-10-14 28: </head>
3ee8d98272 2023-10-14 29: <body>
3ee8d98272 2023-10-14 30: <header id="title-block-header">
3ee8d98272 2023-10-14 31: <h1 class="title">ygopro_编译</h1>
3ee8d98272 2023-10-14 32: </header>
3ee8d98272 2023-10-14 33: <nav id="TOC" role="doc-toc">
3ee8d98272 2023-10-14 34: <ul>
3ee8d98272 2023-10-14 35: <li><a href="#前言" id="toc-前言"><span class="toc-section-number">1</span> 前言</a></li>
3ee8d98272 2023-10-14 36: <li><a href="#新建文件夹" id="toc-新建文件夹"><span class="toc-section-number">2</span> 新建文件夹</a></li>
bcc9116867 2023-10-14 37: <li><a href="#编译器" id="toc-编译器"><span class="toc-section-number">3</span> 编译器</a></li>
bcc9116867 2023-10-14 38: <li><a href="#lua" id="toc-lua"><span class="toc-section-number">4</span> lua</a></li>
3ee8d98272 2023-10-14 39: </ul>
3ee8d98272 2023-10-14 40: </nav>
3ee8d98272 2023-10-14 41: <h1 data-number="1" id="前言"><span class="header-section-number">1</span> 前言</h1>
3ee8d98272 2023-10-14 42: <p>来,走起,我们来编译一个小且可用的 ygopro 。</p>
3ee8d98272 2023-10-14 43: <p>功能不求全,只要有残局功能就够了。</p>
3ee8d98272 2023-10-14 44: <h1 data-number="2" id="新建文件夹"><span class="header-section-number">2</span> 新建文件夹</h1>
3ee8d98272 2023-10-14 45: <p>万事第一步,先新建个文件夹……</p>
3ee8d98272 2023-10-14 46: <p>然后,不做了,等一年后再来看,进度 0%,哈哈,这才是正常轨迹。</p>
3ee8d98272 2023-10-14 47: <p>上面虽然是玩笑话,但也估摸着是我的真实经历,只不过我这个拖延王拖延了大概六年。</p>
3ee8d98272 2023-10-14 48: <p>好了,给这个文件夹改名吧。</p>
3ee8d98272 2023-10-14 49: <p>我则取名叫:</p>
3ee8d98272 2023-10-14 50: <pre><code>ygopro</code></pre>
bcc9116867 2023-10-14 51: <h1 data-number="3" id="编译器"><span class="header-section-number">3</span> 编译器</h1>
bcc9116867 2023-10-14 52: <p>编译时,一个很麻烦的东西就是编译器。</p>
bcc9116867 2023-10-14 53: <p>很长一段时间,我都不知道到哪里去下编译器。</p>
bcc9116867 2023-10-14 54: <p>像这种基础性的东西难道不应该有某某一个人把它们汇总起来让人随便下吗?</p>
bcc9116867 2023-10-14 55: <p>后来我发现,诶,还真有,但那人的网站在百度上很难搜。</p>
bcc9116867 2023-10-14 56: <p>现在的搜索引擎,早不名副其实了。</p>
5a88cadc45 2023-10-14 57: <p>我们要下载的编译器叫 msvc ,准确点,应该叫 MSVC 。</p>
5a88cadc45 2023-10-14 58: <p>不过我懒得换大小写,后文直接叫 msvc 了。</p>
5a88cadc45 2023-10-14 59: <p>msvc 是一家叫微软的公司出的,这公司现在很鸡贼,把 msvc
5a88cadc45 2023-10-14 60: 的下载页面给隐藏了,狂推 vs 的下载。</p>
5a88cadc45 2023-10-14 61: <pre><code>https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools</code></pre>
5a88cadc45 2023-10-14 62: <p>下载下来之后,会有一个 exe ,直接进行执行。</p>
5a88cadc45 2023-10-14 63: <p>然后就会有一大堆东西让你选,你挑着系统 sdk 与
5a88cadc45 2023-10-14 64: c++编译工具安装就行了。</p>
5a88cadc45 2023-10-14 65: <p>但这里会冒出来一个大问题:</p>
5a88cadc45 2023-10-14 66: <p>下不动!</p>
5a88cadc45 2023-10-14 67: <p>网络问题,我还真没法解决。</p>
5a88cadc45 2023-10-14 68: <p>中国的网络封锁太强,自己看情况想办法绕过去吧。</p>
5a88cadc45 2023-10-14 69: <p>就算我这写了一点解决网络问题的方法,以现在的封锁趋势,过一段时间也就不能用了。</p>
5a88cadc45 2023-10-14 70: <p>不过,你还是有可能下得动的,因为彻底封死网络会伤某些人的心,所以现在是采用人群分化的方法来封锁网络,顺便还能挑起人群之间的内部矛盾。</p>
bcc9116867 2023-10-14 71: <h1 data-number="4" id="lua"><span class="header-section-number">4</span> lua</h1>
bcc9116867 2023-10-14 72: <p>先下载 lua 的源码:</p>
bcc9116867 2023-10-14 73: <pre><code>https://www.lua.org/download.html</code></pre>
bcc9116867 2023-10-14 74: <p>直接下最新版本。</p>
bcc9116867 2023-10-14 75: <p>顺便一说, lua5.3 有 bug ,性能也不如 lua5.4 。</p>
bcc9116867 2023-10-14 76: <p>下完之后,解压,会出现一大堆文件,别怕。</p>
3ee8d98272 2023-10-14 77: <script>
3ee8d98272 2023-10-14 78:
3ee8d98272 2023-10-14 79: document.onclick = function(event) {
3ee8d98272 2023-10-14 80:
3ee8d98272 2023-10-14 81: var target = event.target
3ee8d98272 2023-10-14 82:
3ee8d98272 2023-10-14 83: if (target.tagName == "PRE"
3ee8d98272 2023-10-14 84: || target.tagName == "CODE") {
3ee8d98272 2023-10-14 85: if (window.getSelection().toString() !== "") {
3ee8d98272 2023-10-14 86: return
3ee8d98272 2023-10-14 87: }
3ee8d98272 2023-10-14 88: var range = document.createRange();
3ee8d98272 2023-10-14 89: range.selectNodeContents(target);
3ee8d98272 2023-10-14 90: window.getSelection().removeAllRanges();
3ee8d98272 2023-10-14 91: window.getSelection().addRange(range);
3ee8d98272 2023-10-14 92: var successful = document.execCommand("copy");
3ee8d98272 2023-10-14 93: target.removeAttribute("contenteditable");
3ee8d98272 2023-10-14 94: window.getSelection().removeAllRanges();
3ee8d98272 2023-10-14 95: }
3ee8d98272 2023-10-14 96:
3ee8d98272 2023-10-14 97: }
3ee8d98272 2023-10-14 98:
3ee8d98272 2023-10-14 99: </script>
3ee8d98272 2023-10-14 100: </body>
3ee8d98272 2023-10-14 101: </html>