Remix
編譯獨立程序集
solidity wiki 解釋說獨立組裝也是可能的。但是,我無法編譯它。例如:
{ mstore(0x40, 0x60) // store the "free memory pointer" // function dispatcher switch div(calldataload(0), exp(2, 226)) case 0xb3de648b { let r := f(calldataload(4)) let ret := $allocate(0x20) mstore(ret, r) return(ret, 0x20) } default { revert(0, 0) } // memory allocator function $allocate(size) -> pos { pos := mload(0x40) mstore(0x40, add(pos, size)) } // the contract function function f(x) -> y { y := 1 for { let i := 0 } lt(i, x) { i := add(i, 1) } { y := mul(2, y) } } }
(取自solidity docs)。
我該如何編譯這個?我很確定我必須在 solc 中添加一些標誌。是否可以在混音中編譯它?
根據this GitHub,有人詢問了有關獨立程序集狀態的以下問題:
這已經實施了嗎?它顯示在文件中,但我看不到它正在實施的其他證據: http ://solidity.readthedocs.io/en/develop/assembly.html?highlight=assembly#standalone-assembly
投稿人對此的回應是
不,這仍在進行中。我不得不承認,文件中有關於它的註釋,但不是太明顯。
這是我得到的與上述問題有關的唯一證據。