147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
<p>这个所谓的电平具体是指啥,我已经忘了,不过总不外乎是「电压」、「电流」这些与电相关的量度。</p>
<p>你小时候家里经常停电吗?</p>
<p>如果有过停电或电烧电器的经历,那么应该会有「电不稳定」的印象。</p>
<p>电平受制于电的不稳定,所以它是不精确的。</p>
<p>电平是低于某个临界点,就属于低电平,高于某个临界点,就属于高电平。</p>
<p>这个临界点是人定的。</p>
<p>接下来,不讲底层了。</p>
<p>01
往上可以组建逻辑门,而汇编编程语言可以指导逻辑门的运行。但问题在于各个商家给逻辑门定的汇编语言是不一样的,于是我们需要一个通用的汇编语言,而这就是
<p>01 往上可以组建逻辑门,而汇编编程语言可以指导逻辑门的运行。</p>
<p>但问题在于各个商家给逻辑门定的汇编语言是不一样的,于是我们需要一个通用的汇编语言,而这就是
c 语言的别称——「便携式汇编语言」。</p>
<p>一门编程语言可以大致分为三部分:语法、标准库、自定义库。</p>
<p>lua 会用到 c 语言的标准库,而我们从上面的过程可以看到系统肯定会有 c
语言标准库。</p>
<p>加个参数:</p>
<pre><code>cl /MD /O2 /c ./lib/lua/src/*.c</code></pre>
<p>这样子, lua 就会采用系统自带的 c 语言标准库了。</p>
<p>但仅仅是这样子还不行,因为 ygopro 不是一个纯 c 语言的项目。</p>
<p>这里的 lua 需要采用 cpp ,也就是 c++的方式进行编译:</p>
<pre><code>cl /TP /MD /O2 /c ./lib/lua/src/*.c</code></pre>
<p>然后由于 cpp
的特性,你会收到一堆报错,此时编译器会提醒你再加个参数:</p>
<pre><code>cl /EHsc /TP /MD /O2 /c ./lib/lua/src/*.c</code></pre>
<p>好,大功告成,这就算把 lua 编译完了。</p>
<p>不过,这时候,你的目录下会有一大堆的 obj 文件,不好看。</p>
<p>于是输入:</p>
<pre><code>lib /OUT:lua.lib *.obj</code></pre>
<p>这就把所有的 obj 文件合成了一个文件了。所以可以把 obj
文件全部删了:</p>
<pre><code>del *.obj</code></pre>
<p>也就是说,我们由一堆文件中编译出了一个文件:</p>
<pre><code>lua.lib</code></pre>
<script>
document.onclick = function(event) {
var target = event.target
if (target.tagName == "PRE"
|