設計が狂ったコードを「API/ABIを保持したまま」修正するのは地獄である。
Cには、deallocatorはあってもfinalizerがなく、しかも、この設計者は、確保したmemoryを相手先のlibrary/programに渡してしまい、後は、こちら側がなすすべもなく、相手先がfree()してしまうという、悲惨な設計にしていたりする。だいたい、byteの塊でAPIを設計するなら、protocolをそのまま透過にするように設計しておきゃよいものを、滅茶苦茶な混在でAPI/ABIが組まれている。
C言語にまで八つ当たりをしたくなる。だいたい、ABIなんてsensitiveな問題を理解できるやつは、ほとんどいないというあたり、悲惨としか言いようがない。ああ、COMでもCORBAでも.NETでも、なんでもよいから、もう、ただのCの呼び出しでlibraryを作るのは止めたい。x_x;;;