链接。豫
yuyan · 233 行 · 11225 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 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 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「平台」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「实例」之书。
寻观「客体二号」之「模块」之书。
「:文言:跨实例之链:导入不属宿主者,按其模块名与字段名,求已装载之实例所导出之函数,核其签名而缔结。汉语:跨实例链接。导入项(模块字节里的“模块名、字段名、种类、类型”)如果不是宿主调用,就到已装载的实例里找名字相同的实例,再在那个实例里按字段名找导出函数,核对函数类型(参数与结果编码逐字节相同)后,把导入条改成“链接到 实例号+函数号”。加载时对每个未连接的导入尝试一次;调用时仍未连接的再尝试一次(延迟链接,使互相导入的两个模块可以先后加载);始终不成则调用时致命。:」
「名等」乃化「整数」而化「整数」而化「整数」而化「整数」而「爻」也。
「名等」者会「址甲」而会「长甲」而会「址乙」而会「长乙」而
若「等」于「长甲」于「长乙」则
「相同字节」于「址甲」于「址乙」于「长甲」
否则
「阴」
也。
「:文言:按名查导出,返函数号,非函数导出则负一。汉语:在当前实例里按名字(地址加长度)查导出函数;找不到或不是函数导出返回 -1。:」
「查导出名」乃化「整数」而化「整数」而「整数」也。
「查导出名」者会「名址」而会「名长」而
虑「起」者「节起」于「七」而
若「等零」于「起」则
「负一」
否则
虑「个数」者「读无符号变长」于「起」而
虑「首址」者「读四」于「状态_读址」而
递归虑「逐」其化「整数」而化「整数」而「整数」者会「位」而会「游」而
若「小于」于「位」于「个数」
则
虑「长」者「读无符号变长」于「游」
而
虑「址」者「读四」于「状态_读址」
而
虑「后」者「加」于「址」于「长」
而
若「名等」于「址」于「长」于「名址」于「名长」
则
(若「等零」于(「读一」于「后」)则「读无符号变长」于(「加」于「后」于「一」)否则「负一」)
否则
「逐」
于(「加」于「位」于「一」)
于(「变长后」于(「加」于「后」于「一」))
否则
「负一」
而
「逐」于「零」于「首址」
也。
「查实例导出」乃化「整数」而化「整数」而化「整数」而「整数」也。
「查实例导出」者会「实例」而会「名址」而会「名长」而
虑「现」者「读四」于「状态_当前实例」而
虑「无」者(「切换实例」于「实例」)而
虑「号」者「查导出名」于「名址」于「名长」而
虑「无」者(「切换实例」于「现」)而
「号」
也。
「:文言:实例中某函数之类型,与导入所需者相较。汉语:在目标实例的上下文里核对函数 号:必须是已定义的函数(不是导入),且函数类型与暂存在 状态_宽临时 里的导入类型(+0 编码起,+4 编码长,+8 参数数,+12 结果数)逐字节相同。:」
「实例函数类型合」乃化「整数」而化「整数」而「爻」也。
「实例函数类型合」者会「实例」而会「号」而
虑「现」者「读四」于「状态_当前实例」而
虑「无」者(「切换实例」于「实例」)而
虑「条」者「函数条」于「号」而
虑「类型」者「类型条」于(「读字段」于「条」于「函数条_类型」)而
虑「长」者
「减」于(「读字段」于「类型」于「类型条_编码止」)于(「读字段」于「类型」于「类型条_编码起」)而
虑「合」者
(
若「不等于」于(「位与」于(「读字段」于「条」于「函数条_标志」)于「一」)于「零」则
「阴」
否则
(
若「不等于」于(「读四」于「类型」)于「一」则
「阴」
否则
(
若「不等于」
于(「读字段」于「类型」于「类型条_甲」)
于(「读四」于(「加」于「状态_宽临时」于「八」))则
「阴」
否则
(
若「不等于」
于(「读字段」于「类型」于「类型条_乙」)
于(「读四」于(「加」于「状态_宽临时」于「一二」))则
「阴」
否则
(
若「不等于」
于「长」
于(「读四」于(「加」于「状态_宽临时」于「四」))则
「阴」
否则
「相同字节」
于(「读字段」于「类型」于「类型条_编码起」)
于(「读四」于「状态_宽临时」)于「长」
)
)
)
)
)
而
虑「无」者(「切换实例」于「现」)而
「合」
也。
「尝试链接」乃化「整数」而化「整数」而「整数」也。
「尝试链接」者会「函数号」而会「实例」而
虑「号」者
「查实例导出」
于「实例」
于(「读四」于(「加」于「状态_宽临时」于「一六」))
于(「读四」于(「加」于「状态_宽临时」于「二零」))而
若「小于」于「号」于「零」则
「零」
否则
若「实例函数类型合」于「实例」于「号」
则
虑「条」者「函数条」于「函数号」
而
虑「无」者(「写字段」于「条」于「函数条_链接实例」于「实例」)
而
虑「无」者(「写字段」于「条」于「函数条_链接函数」于「号」)
而
虑「无」者
(「写字段」于「条」于「函数条_标志」于(「位或」于「一」于(「左移」于「宿主号_实例」于「八」)))
而
「一」
否则
「零」
也。
「按实例链接」乃
化「整数」而
化「整数」而
化「整数」而
化「整数」而
化「整数」而
「整数」
也。
「按实例链接」者会「函数号」而会「宿址」而会「宿长」而会「现」而会「k」而
若「小于」于「k」于(「读四」于「状态_实例数」)
则
虑「记」者「实例记录」于「k」而
虑「匹配」者
(
若「不等于」于「k」于「现」
则
(
若「等」于(「读字段」于「记」于「记录_状态」)于「一」
则
「名等」
于「宿址」
于「宿长」
于(「读字段」于「记」于「记录_名址」)
于(「读字段」于「记」于「记录_名长」)
否则
「阴」
)
否则
「阴」
)
而
若「匹配」
则
虑「成」者「尝试链接」于「函数号」于「k」
而
若「不等于」于「成」于「零」则
「一」
否则
「按实例链接」于「函数号」于「宿址」于「宿长」于「现」
于(「加」于「k」于「一」)
否则
「按实例链接」于「函数号」于「宿址」于「宿长」于「现」于(「加」于「k」于「一」)
否则
「零」
也。
「:文言:链接一个导入,成则一,否则零。汉语:链接当前实例的第 函数号 个函数(一个导入):取导入项里的模块名与字段名,暂存其类型于 状态_宽临时,遍历其他已装载实例尝试缔结;成功返回 1,失败返回 0。:」
「链接导入」乃化「整数」而「整数」也。
「链接导入」者会「函数号」而
虑「条」者「函数条」于「函数号」而
虑「项」者「读字段」于「条」于「函数条_导入项」而
若「等零」于「项」则
「零」
否则
虑「宿长」者「读无符号变长」于「项」而
虑「宿址」者「读四」于「状态_读址」而
虑「名长址」者「加」于「宿址」于「宿长」而
虑「名长」者「读无符号变长」于「名长址」而
虑「名址」者「读四」于「状态_读址」而
虑「类型」者「类型条」于(「读字段」于「条」于「函数条_类型」)而
虑「无」者
(「写四」于「状态_宽临时」于(「读字段」于「类型」于「类型条_编码起」))
而
虑「无」者
(「写四」
于(「加」于「状态_宽临时」于「四」)
于(「减」于(「读字段」于「类型」于「类型条_编码止」)于(「读字段」于「类型」于「类型条_编码起」)))
而
虑「无」者
(「写四」于(「加」于「状态_宽临时」于「八」)于(「读字段」于「类型」于「类型条_甲」))
而
虑「无」者
(「写四」于(「加」于「状态_宽临时」于「一二」)于(「读字段」于「类型」于「类型条_乙」))
而
虑「无」者
(「写四」于(「加」于「状态_宽临时」于「一六」)于「名址」)
而
虑「无」者
(「写四」于(「加」于「状态_宽临时」于「二零」)于「名长」)
而
「按实例链接」于「函数号」于「宿址」于「宿长」于(「读四」于「状态_当前实例」)于「零」
也。
「:文言:加载后之链:遍历诸导入,能链者链之。汉语:对当前实例的每个未连接的导入尝试链接(失败的留待调用时再试)。:」
「链接全部导入」乃化「整数」而「有」也。
「链接全部导入」者会「号」而
若「小于」于「号」于(「读四」于「状态_导入数」)
则
虑「条」者「函数条」于「号」而
虑「无」者
(
若「等零」于(「无符号右移」于(「读字段」于「条」于「函数条_标志」)于「八」)
则
(虑「无」者「链接导入」于「号」而「元」)
否则
「元」
)
而
「链接全部导入」于(「加」于「号」于「一」)
否则
「元」
也。