7

タイトルにあるように、私はC ++で書かれたWindowsアプリを持っており、そこからリモートのThriftサービスを呼び出す必要があります。正直なところ、この件については少し迷っています。http://wiki.apache.org/thrift/ThriftInstallationWin32には、「ThriftC++ランタイムライブラリは現在Windowsでは機能しません」と記載されています。それは私が運が悪かったことを意味しますか、それとも回避策がありますか?

4

3 に答える 3

5

自分のアプリ用に Thrift を Windows/C++ に移植しました。オープンソースなので、他の人は自由に利用できます: http://peoplesnote.codeplex.com/SourceControl/list/changesets

于 2010-09-17T22:38:06.367 に答える
3

エレガントな解決策ではないかもしれませんが、少なくともうまくいくはずです:

Thrift Wiki によると、C# バインディングがありますが、実際には .NET バインディングと呼ぶ必要があります。C# 固有のものは何もありません。したがって、通信ライブラリを C++/CLI dll ライブラリに実装し、アンマネージ コードからその .dll を参照することができます。

于 2009-02-06T09:30:00.567 に答える
1

そのページはかなり簡単に見えます。彼らは Thrift コンパイラの作り方を教えてくれますが、それからのメタコードは Windows ではコンパイルできないと明言しています。

したがって、誰かに Windows でのコンパイル方法を理解してもらうまで、運が悪いことになります。

正直なところ、Cygwin は Windows で UNIX ソースをコンパイルするために必要なすべての機能を備えているため、これがそれほど大きな問題になるとは思えません。かなり難解な UNIX 機能を使用しているに違いないとしか言​​いようがありません。

ここから取るべきアプローチはいくつかあります。

1/ Apache Incubator に入ったので、Windows をサポートする計画があるかもしれません (見つけられませんでしたが)。それが本当にオープン ソースであり、その必要性が特定された場合、誰かがランタイムを Windows に移植し始める可能性があります。お待たせしない場合がございます。

2/ 世界が別のRPC メカニズムを必要とした理由は、私には理解できません。ただし、既存の RPC メカニズム (SUN/ONC) の 1 つまたは独自の RPC プロトコルを使用して、Windows ボックスから UNIX ボックスに通信し、Thrift 経由で RPC を転送することができます。しかし、これはお世辞であり、私は原則からそれをしません。

それ以外は、私が提案できることはあまりありません、申し訳ありません。幸運を祈ります。

于 2009-02-06T10:23:24.903 に答える