組み込みシステムの大きなプロジェクトに取り組んでいます。プロジェクトは、顧客のコード/ソリューションに統合する必要があるライブラリといくつかのバイナリです。そのため、可能な限り OS/プラットフォームに依存しないようにする必要があります。これまでのところ、問題なく組み込み Linux に取り組んできました。ただし、近い将来、非 Linux ベースのプラットフォームが参加する可能性があります。
私たちが扱っているプラットフォームの種類を説明するには、Java 仮想マシンなどの要求の厳しいモジュールを実行できる必要があります。
どの種類のプラットフォームが表示され、どの種類のコンパイラが提供されるかはわかりません。そのため、多くの問題を引き起こす可能性のある高度な C++ フューチャーやライブラリを使用することについて少し心配しています。主に、それによる非互換性の可能性を避けたいと思っています。
ソリューションのいくつかの C++ モジュールをリファクタリングしています。それらは本当にトリッキーであり、スマート ポインターのサポートは非常に役立ちます。最初は、カスタム スマート ポインター パッケージを作成することを考えましたが、少しリスクがあるように思えます (ここにバグがあると大きな頭痛の種になります)。そこで、boost のスマート ポインターを使用することを考えました。
ブーストのスマートポインターを使用すると、将来問題が発生すると思いますか?
私は bcp を使用してブーストのスマート ポインター パッケージを抽出しようとしましたが、他の多くのものがそれに伴います。4Mbのコードのようなもの。抽出されたディレクトリは次のとおりです。
config/compiler
config/stdlib
config/platform
config/abi
config/no_tr1
detail
smart_ptr
mpl (and subdirs)
preprocessor (and subdirs)
exception (and subdirs)
type_traits (and dubdirs)
それは私にはあまり移植可能ではないようです (しかし、私はそれについて間違っているかもしれません)。
皆さんはそれについてどう思いますか?
どうもありがとうございました。