私は Intel MacOSX 10.6 を使用しており、内部では GCC 4.2.1 を使用しています。私がやろうとしているのは、バッファを割り当て、マシン命令を入力して実行することです。すべてを 1 つのプログラムで。
例えば、
typedef unsigned char byte_t;
int main(int argc, char** argv) {
byte_t* code = new byte_t[3];
code[0] = 0x90; // NOP
code[1] = 0xC9; // LEAVE - tried also without this.
code[2] = 0xCB; // RET far - tried also 0xC3, the near return.
((void (*)(void)) code)();
return 0;
}
Bus errorというメッセージで失敗します。ここで何が間違っていますか?