メモ書きしておきます。
# アセンブラファイル作成
gcc -S test.c
# アセンブラファイルからオブジェクトファイル作成
as -o test.o test.s
# 実行ファイル作成
gcc -o test test.o
メモ書きしておきます。
# アセンブラファイル作成
gcc -S test.c
# アセンブラファイルからオブジェクトファイル作成
as -o test.o test.s
# 実行ファイル作成
gcc -o test test.o
Javaアセンブラ “Jasmin”でアセンブラファイルをコンパイルするコマンドです。
java -jar jasmin.jar [Javaアセンブラファイル]
classファイルを逆アセンブラするコマンドは以下の通りです。
javap -c [classファイル]
Hello WorldをJavaアセンブラで書くとこんな感じになります(Jasminのexamplesから)。
.class public examples/HelloWorld
.super java/lang/Object
; standard initializer
.method public <init>()V
aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 2
; push System.out onto the stack
getstatic java/lang/System/out Ljava/io/PrintStream;
; push a string onto the stack
ldc "Hello World!"
; call the PrintStream.println() method.
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
; done
return
.end method
[macOS Catalina 10.15.7]
初めて学んだプログラミング言語はPascalでした。
今でもFree Pascalとして使われていると知り、少しいじってみることにしました。
最新バージョンは3.2.2でした。インストール先は/usr/local/bin/fpcです。
GUIアプリも作れるらしいです。Java&Pythonで製作中の競馬データベースアプリを移植できるだろうか。
program Hello_World (output) ;
begin
writeln('Hello World')
end.
Pythonの記述性、C言語の高速性、Javaの多機能性を活かすための構想を練っています。
今のところCmoduleについては目処が立ちましたが、JythonとJNAは今後試験的にコードを書いていきます。