mieki256's diary



2024/02/08(木) [n年前の日記]

#2 [basic] FreeBASICでライブラリファイルを作成する方法を調べていた

FreeBASICのライブラリをC言語で書きたいと思ったものの、解説ページが見当たらなくて。まずはその前に、FreeBASICでライブラリファイル(lib*.a)を作成する手順について試してみようかなと思い立った。

手順については以下のページが参考になった。ありがたや。

_静的ライブラリ - ProPgStaticLibraries
_Static Libraries - FreeBASIC Wiki Manual | FBWiki

FreeBASICコンパイラ(fbc)に、「-lib」をつけるだけでいいらしい。圧倒的に簡単…。

  1. 関数/サブルーチンだけを書いた .bas を用意する。
  2. fbc -lib hoge.bas でコンパイル。
  3. libhoge.a が作成される。
これだけ。マジで簡単。

後は、その関数/サブルーチンがどんな引数を要求して、どんな値を返すのか、そのあたりを書いたヘッダーファイル(.bi)を書いて、実際に使いたいファイルの最初のほうで #include "hoge.bi" を書いてやればいい。簡単過ぎる…。

gccでライブラリファイル化したい :

どうしてライブラリファイルの形にしたいのかと言うと、そのライブラリファイルだけでも gcc でコンパイルしたいから。

FreeBASIC 32bit版は、gas と呼ばれる、GNUアセンブラ(as.exe)を使って実行形式を作るのだけど、最適化はかからないから処理が遅い実行形式が生成されてしまう。しかし、gcc の最適化を有効にしてコンパイルするだけで、同じソースでも数倍の速さになってくれる。

しかし、gcc はどの環境にも入ってるわけではないので、gccが入ってる環境でライブラリファイルだけでも作ることができれば、そのライブラリファイルを配布することで処理が速い版を使えるのではないかなと…。

ただ、Windows 32bit版、64bit版、Linux版 の lib*.a を用意しなきゃいけないあたりが少し面倒臭いかも。

以上です。

過去ログ表示

Prev - 2024/02 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project