リフレクションは便利なのでFreePascalでも使いたい。 Delphiの場合はRttiユニットがあるのでリフレクションは簡単に実装できるのですが、FreePascalには同等のユニットがありません。 昔作成してGitHubで公開していたテストフレームワークのほうにPullRequestをもらって、FPC用のリフレクション実装をマージしたことがあったのですが、古いバージョンのFPCでしか動かないものでした。 x86_64のFreePascalCompilerで動くように試行錯誤してうまくいったので、まとめておきます。 メモリレイアウトの情報を見つけきれなくて、結局メモリダンプで推測しつつ調整することになりました。 試したFPCのバージョンは、 Free Pascal Compiler version 3.2.2+dfsg-9ubuntu1 [2022/04/11] for x86_64