ライブラリを整理する方法が、ライブラリを整理するための最もエレガントな方法かどうかはわかりません。私は主に、入力したすべてのコードを、ターゲットにしているすべてのシステムでコンパイル/実行し(移植性を維持し)、すべてのシステムで最新の状態に保つことに関心があります。
例:MacまたはLinuxで__declspec(dllexport / dllimport)を使用するかどうかはわかりません。そうではないと思いますが、Mac/Linuxに相当するものが何であるかはわかりません。または、別の例として、特定のオペレーティングシステム関数を呼び出す場合がありますが、これは避けようとしています。ただし、次のようなことは、何かが発生するのにかかる時間を正確に測定すること*であり、OS固有の関数を呼び出す必要があります。
*ユーザーの時間を正確に取得する場合と同様(マイクロ/ミリ秒まで)。
私が現在(おそらく将来的に)目指しているシステムは、Mac、Windows、Linuxです。しかし、コードがすべてのシステムでコンパイルされる(そして正しく実行される)ことをテストすることは、時間の無駄のように思えます。現在のように、私が提案している方法では、システムごとに個別のプロジェクトを作成する必要があります。つまり、Windows用のVisual Studioプロジェクト、Mac用のXcodeプロジェクトを作成し、Linux用のコマンドラインを使用するか、他のIDEを使用します。
さて、私が物事を整理する方法に関する私の主な問題は次のとおり
です。1.すべてのシステムのプロジェクトを作成し、各システムの各プロジェクトを最新の状態に保つ場合のように、時間の消費。
2.使用する必要のあるすべてのIDE/コンパイラに関する知識
注意してください、私はこれまでLinuxを実際に使用したことがありません。切り替えを考えています。私が懸念している唯一の問題は、それを使用するための適切なツールを見つけ、必要なものに適した適切なDistroを見つけることです。Linuxの経験者が私を導いてくれたり、切り替えるかどうかアドバイスをくれたら本当にありがたいです。
私はVisualStudioが本当に好きで、それはかなり前から私のメインIDEでした。Linuxの場合、VisualStudioを廃止するかどうかはわかりません。Linuxで利用できるツールが、VisualStudioでできることを実行できるかどうかはわかりません。つまり、VisualStudioと同じくらいユーザーフレンドリーです。Linuxのツールの使い方を学ぶのが怖いのですが、そうする価値があるかどうかはわかりません。時間はこのライブラリの主要な要素ではありません。私には十分な時間があります。私はかなり若く、将来のキャリアとしてプログラムすることを決意しています。
*以前に使用したことがありますが、Windows用に交換したことはありません。
現在、プロジェクトのすべてのソースコードをBitBucketでホストしていますが、現時点では、リポジトリにRAWコードしかありません。プロジェクトファイルやそれをコンパイルするための他のツールはなく、コードとreadmeファイルだけです。Makefilesは人気があるように見えるので、使用することを考えていました。しかし、私はこれまでMakefileを作成したことがありません。誤解しないでください、私は喜んで学びます。どこから始めればいいのかよくわかりません。人々はCMakeを使用してSFMLやOgre3Dなどのポータブルライブラリを作成していると聞きました。私はCMakeを使用していくつかのライブラリを構築しましたが、プロジェクト/ファイルを作成するために実際にそれを使用して独自のライブラリを作成する方法がわかりません。CMakeを学習してライブラリに組み込む必要がありますか、それともより良いオプションがありますか?
編集:
GUIを使用する実際のソフトウェア用のライブラリを作成することは目的としていません。私は主にゲームを書くことを目的としています。