FirebirdとUDF

思い出したのでメモ。
Firebird1.5でUDF作成して使ってたんですが、環境のアップデートで2.5にバージョンアップする事になり確認してたんですが自作のUDFを呼ぶとサーバーが落ちるという現象に遭遇。
で、色々調べて行き着いた結論が呼び出し規約が違う。ネットで調べてもWindowsではstdcallを使うというのが結構ヒットしてて1.5まではstdcallで問題無かったんですが、2.5はstdcallではエラーになりますcdeclを使ったらokでした。

色々調べて見つかったのはこれくらいでした、なんか昔からUNIXWindowsどっちもcdeclだよって書いてあるようにも読めるんですが詳細は不明。

私の体験から言えるのは1.5はstdcallで問題なし、2.5はstdcallだとエラーになりcdeclにしないと駄目。2.0、2.1はどうなのかは使ってないので不明です。