1

現在、C/C++ で小さなサーバーのプログラミングを計画しています。そのソフトウェアの宛先はある種のLinuxサーバーになるので、Linuxでサーバーをプログラムするのが最善のアイデアだと思いました。問題は、私は MacBook (Air) を所有しており、Linux VM をセットアップしましたが、IDE (Qt クリエーター) が私を驚かせていることです。そのため、Xcode 内でサーバーを開発することを考え、それをコンパイルし終えたら、 VM. では、pthread と socket.h に関しては、移植性のグレードがどれくらい高いのだろうか? それらが特定のグレードに移植可能である場合、Xcode で開発することをお勧めしますか? (サーバーのクライアントはiOSアプリになるため、私はXcodeに精通しています。英語が下手で申し訳ありません(私はドイツ出身です)、そして(おそらく)コメントに感謝します:)

4

2 に答える 2

3

threading librarysocket libraryboostの両方のプラットフォーム固有の詳細を抽象化するようなサードパーティのライブラリを使用できます。Linux および Mac OS X オペレーティング システムは両方ともブーストでサポートされています。

私の答えはc++具体的です。質問にcもタグを付けているようです。

于 2012-12-15T14:15:29.663 に答える
0

Boost を使用すると生活が楽になるかもしれませんが、質問に答えるに<pthread.h><sys/socket.h>、標準の POSIX ヘッダーであり、Mac OS X や GNU/Linux などの POSIX システム間で移植可能です。GNU ヘッダーには、非標準の拡張機能または新しい POSIX の一部であるため、Mac OS X ではサポートされていないものが含まれている可能性がありますが、Mac OS X で利用可能なほぼすべてのものは<pthread.h>GNU <sys/socket.h>/Linux でも利用でき、動作します同じ。確実にするには、関数のマニュアルページを読むか、 Single UNIX Specificationをオンラインで確認して、プラットフォーム固有の機能ではなく、移植可能な POSIX 機能のみを使用していることを確認してください(そのリンクは、Mac OS Xをサポートしており、GNU/Linux は最新のPOSIX 2008仕様にほとんど準拠しています。)

<sys/socket.h>て、<pthread.h>

Mac OS X は基本 POSIX 仕様をサポートしていますが、すべてのオプション部分をサポートしているわけではないことに注意してください。たとえば、POSIX 2001 の「タイマー」オプションはサポートしていません (これは基本仕様の一部であり、POSIX-2008 ではオプションではありません)。

于 2012-12-15T16:44:11.847 に答える