檢查您是否使用ASC2.0
編譯器。
快速內存操作碼是ASC2.0
編譯器的一部分,不是AIR SDK
的一部分。根據您使用的是哪個IDE,avm2.intrinsics.memory
操作碼方法可能會在代碼編輯器上顯示unresolved error
,但編譯器可以使用ASC2.0
進行編譯。
以下代碼使用AIR SDK 27
在intelliJ IDEA
進行測試。
package {
import flash.display.Sprite;
import avm2.intrinsics.memory.sf64;
import avm2.intrinsics.memory.lf64;
import flash.system.ApplicationDomain;
import flash.utils.ByteArray;
import flash.utils.Endian;
public class FastMemTest extends Sprite {
public function FastMemTest() {
var ba:ByteArray = new ByteArray();
ba.length = ApplicationDomain.MIN_DOMAIN_MEMORY_LENGTH;
ba.endian = Endian.LITTLE_ENDIAN;
ApplicationDomain.currentDomain.domainMemory = ba;
const addr:int = 0xf0;
const value:int = 1234;
sf64(1234, value);
trace(value.toString(16), ':', lf64(value));
}
}
}
跟蹤輸出:
"C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.1\jre64\bin\java.exe" "-Dapplication.home=C:\FlexSDK\AIRSDK_Compiler_27.0.0.132" -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en -Duser.region=en -Xmx512m -classpath "C:/FlexSDK/AIRSDK_Compiler_27.0.0.132/lib/legacy/fdb.jar" flex.tools.debugger.cli.DebugCLI
Adobe fdb (Flash Player Debugger) [build development]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
Waiting for Player to connect
"C:\FlexSDK\AIRSDK_Compiler_27.0.0.132\bin\adl.exe" -profile extendedDesktop C:\test\Stage3DTest-app.xml C:\test
Player connected; session starting.
[trace] f0 : 1234
我只是複製我的評論從類似的問題:*看來,原代碼的作者採取了一定的措施,並應用模糊/保護他的工作。混淆/保護是針對反編譯器的措施。你得到的代碼並不意味着再次被閱讀/理解/編譯。請停止做你正在做的事。 * – Organis
這是我的文件,我剛剛丟失了原始文件 –
因此,如果**是**你的文件,那麼這些方法是什麼呢?如果你不能再這樣做,你是如何建立這個SWF的? – Organis