1

私はWindowsプログラミングの初心者です。「C」ライブラリを使用するアプリを作成しています(いくつかのPOSIX APIも含まれます)。このライブラリも私が作成します。

移植性の問題に関しては、このライブラリを iOS、Android、および Linux プラットフォーム用に作成できると思いますが、Windows に移植したい場合、どのように機能するかわかりません。誰か説明してくれませんか?

基本的に、ライブラリをコンパイルできるコンパイラが必要です。基本的に、Windows用のGCCが必要です(何を使用できるかわかりません-MinGWは、POSIXのサポートがないと言って除外されました)。Visual Studio 2012 で実行できるかどうかはわかりません。

4

1 に答える 1

1

これは、「はい、しかし...」と明確に答えることができる質問のようです;) 「POSIX」と言うとき、どの関数セットを指していますか?

特にファイル関連の機能は、サンドボックスによって有用性が大幅に低下します。たとえば、fopen はアプリ バンドルまたは localStorage 内のファイルでのみ機能します。

その他、strncasecmp などは #define を使用して Win8 でコンパイルすることができます。これは、同じ署名 (_strnicmp) を使用できる関数が他にもあるためです。さらに別の関数セット (strcpy) について、Microsoft は機能が少し異なる拡張バージョン (strcpy_s) を提供しています。ただし、安全なバリアントを #define で無効にすることで、古いものを引き続き使用できます。

最終的には、ライブラリ コードに #ifdef でカプセル化されたセクションを混在させる必要があり、W8 アプリで期待されるように、同期コードを適切な非同期方式でラップするためのラッパーが必要になる場合もあります。

于 2013-02-25T13:46:19.670 に答える