2012-04-06 19 views
0

もちろん、クロスプラットフォームプログラミングのためのC言語のプログラミングライブラリ/フレームワークがあるかどうか不思議です。私は既にWxwidgets、Boost、Qt、U ++などのC++用のフレームワークが用意されていますが、C用のものはまだ見つかりませんでした。Cのクロスプラットフォームフレームワークはありますか?

更新情報:

私たちは、私たちのプロジェクトで使用される基本的なフレームワーク/ライブラリを構築しようとしています。私たちはドットネットをなくし、代わりに高速で要求の少ないそれらのライブラリに対応します。

私たちはサーバー/クライアントベースのプロジェクトに取り組んでいます。したがって、基礎となるサービスは高速で移植性がなければなりません。 GUIは現在私たちの優先事項ではありませんが、スレッド機能を提供するライブラリは私たちにとって重要です。

ANSIの部分については、将来的に何かが変わらない限り、私はその時点で問題ないと思います。

+0

gtk +とC – AurA

+0

ありがとうございますが、gtk + GUIツールキットのみではありませんか? – Breeze

答えて

0

プレーンなANSI Cを書くと、すべてのPOSIXシステムで動作するはずです。 クロスプラットフォームのCライブラリの最も成功した例は、標準Cライブラリ(IMHO)です。

GUIツールキットをお探しの場合、端末のUIをお探しの場合はGTKが答えです。 、ncursesは移植性があります。

一般的なライブラリは、ANSI Cで書かれていれば、システムレベルのAPIを使用しない限りほとんどの場所で動作するはずです。

あなたが探しているライブラリ/フレームワークの種類は何ですか?

+0

ありがとうございました。私たちはプロジェクトで使用される基礎となるフレームワーク/ライブラリを構築しようとしています。私たちはドットネットをなくし、その代わりに高速で要求の少ないそれらのライブラリに対応させます。 私たちはサーバー/クライアントベースのプロジェクトで作業しているので、基礎となるサービスは高速かつ移植可能でなければなりません。 GUIは現在私たちの優先事項ではありませんが、スレッド機能を提供するライブラリは私たちにとって重要です。 とANSIの部分については、将来的にsthを変更しない限り、現時点では問題ないと思います。 – Breeze

+0

@Hosseinこの質問への答えを見てみるhttp://stackoverflow.com/questions/5613646/threading-in-c-cross-platformあなたはlibsへの便利なリンクを見つけるかもしれない – BigMike

+0

ありがとう、私はそのOpenMPに固執すると思うしばらく。これまでのところOPenMpとGlibは十分だと思われます。 もう一度ありがとう – Breeze

0

GTK+は、長い間確立されており、クロスプラットフォームのCのみ(または主に)ツールキットを積極的に維持しています。あなたはオンライン文書だけでなく、それについて書かれた本を見つけるでしょう。これは、GNOMEプロジェクトをバックアップするフレームワークです。

GTK +はまずUIを備えたアプリケーションを構築することを意図しています。しかし、UIが必要ない場合でも、GTK +の一部のコンポーネント、つまりGLibは、Qtに匹敵する一般的なマルチプラットフォームサポートを提供します。実際にはUIを持たないフレームワークが必要でした。APRよりGLibを選んだのは、ドキュメントやチュートリアルを簡単に見つけることができたからです。

GTK +は当初、UN * X上で開発されましたが、X-Windowsは最も簡単に実行できるプラットフォームです。私はそれがWindowsではもっと難しいとは言いません。よりコンパイルされた環境オプションがあるだけです。私は準備されたGTK +パッケージとMinGWで始まったが、GTK +とMSVCを統合した。

GTK +は長い間存在しており、一部の人々は古い学校を見つけるかもしれません。一方、それは安定で有用であることが証明されている。 C++C#のバインドもあります。

すべての大きなフレームワークと同様に、より多くのフレームワークを必要とするほど、より長く学習する必要があります。しかし、それ以外の方法でも動作します。より多くを学ぶほど、より多くのことを学ぶことができます。一貫したコーディングスタイルは、それに慣れるのに役立ちます。

--- Ferda

+0

本当にありがとう、非常に有益です。 私は、私たちの目的と必要性についての情報で私のポストを更新しました。 GLibが絡み合っているようですが、スレッドなどの作業をサポートするなど、いくつかの機能を提供するsthが必要です。 – Breeze

+0

ようこそ。 GLibはスレッドとネットワークもサポートしていますが、主にパフォーマンスのために開発されたものではありません。クライアント/サーバアプリケーションに特化したものもあります。 [ここの別のスレッド](http://bit.ly/xjdFUR)はACE、POCO、ASIOを指します。すべてのC++、私は恐れています...私は[ASIO](http://think-async.com/Asio/)を一度評価しました。これは、Windows上のIOCPのような特定のOSで最も速いサポートを使いたいと思っていました。非同期IOに関するスレッド(ここではhttp://bit.ly/HjidRO)と[ここ](http://bit.ly/HBybRF)があります。 –

+0

非常に親愛なる@ファーディナンド・フランツ、ありがとう。 これらの中で、GlibだけがCフレンドリー(互換性 - それをサポートしています)なのは、C++に近いと思います。 どういうわけか、私はOpenMPとGlibの間で、私はOpenMPを使っていると思います。もっと必要なものがあれば、あなたに感謝しています。 – Breeze

関連する問題