Windows、Linux、OS/X などの最新のオペレーティング システムで実行されている他のプログラムから動的にリンクされるライブラリを作成したいと考えています (つまり、.dll
または.so
モジュールとしてデプロイされます)。
その場合、最も適切な言語は何ですか? プレーンCに固執する必要がありますか?それともC++でもいいですか?
Windows、Linux、OS/X などの最新のオペレーティング システムで実行されている他のプログラムから動的にリンクされるライブラリを作成したいと考えています (つまり、.dll
または.so
モジュールとしてデプロイされます)。
その場合、最も適切な言語は何ですか? プレーンCに固執する必要がありますか?それともC++でもいいですか?
実装には C または C++ を使用できますが、純粋な C でインターフェイスを定義することをお勧めします。統合がはるかに簡単になります。
また、C が最小公倍数であるとも言えます。呼び出し元のアプリケーションとの統合が改善される場合は、コア ライブラリに C++ ラッパーを書き込むオプションが常にあります。
C が最も移植性が高いと思いますが、C++ は実行可能です。
最小公倍数の要因を考慮し、ライブラリの利用者に最適な決定を下してもらいます。extern c の構造はおそらくまだ一部の人々を混乱させており、あなたは自分のライブラリが遠くまで行き、最も多くの聴衆に届くようにしたいと考えています。インターフェイスを純粋な c にすることは間違いありません。C++ は、暗いコーナー (STL など) を避ければ問題ありません。C は最も移植性の高いバーなしです。利用可能なすべてのプラットフォーム用のライブラリを作成するのは簡単なことではありません。ヒントについては、こちらを参照してください。autoconf などの使用を検討することもできます。