私のLinuxへのBorland C ++ Builderのポートコードどのようにしていますか?

StackOverflow https://stackoverflow.com/questions/710649

  •  22-08-2019
  •  | 
  •  

質問

私はC ++で書かれており、ビジュアルコンポーネントライブラリを使用しているWindowsのDLLのソースコードを持っています。今私のタスクは、Linuxにそのポートにですが、私はソースVCL自体のコード、またはドキュメントの任意の種類を持っていない(と私はボーランドC ++で働いたことがありません。私のWindowsの日に私がMFCを使用)

これは、すべては、私のDLLは、任意のGUIを持っていないので、難しいことではありません。私の知る限り、それは主にマルチスレッドのためのVCLを使用しています。私はのTThreadから継承したクラスに走ったと私は行き詰まっていることがあります。私は、インターネット上のいくつかの検索をした、これまでのところVCLのためのマニュアルを参照していません。私はそれがアマゾンから到着するのを待つ時間を持っていないので、私は、ボーランドC ++ Builderの上で本を買う避けたいです。仕事で私が唯一のLinuxボックスを持っているので、私は、Windows用のパッケージの購入を検討することはできません。

任意の提案ですか?

他のヒント

Boostライブラリ、およびwxWidgetsのは、VCLクラスに類似を提供します。

あなたはC ++ Builderで使用VCLは、Delphi / ObjectPascalとに完全に書かれていることに注意する必要があります。 C ++ Builderのすべては、Delphiベースのライブラリを利用してC ++を伴うアプリます。

のFreePascal / Lazarusのオープンソースプロジェクトは、VCL(ほとんど非視覚的なもののすべてと視覚的なものの多く)のほとんどをリバースエンジニアリングしており、それは、Linux上でネイティブに動作します。非ビジュアルVCL互換のものは、「無料コンポーネントライブラリ」(「FCL」)として知られています http://www.freepascal.org/する http://www.freepascal.org/fcl/fcl.varする

FCLでのTThread実装のソースを見つけることは十分に簡単である必要があります。

一つの選択肢は、言語がObjectPascalとに変化するだろうが、VCLコンポーネントのVCLと使用への呼び出しは、事実上同一であるFreePascalと、に書き換えることであろう。

別のオプションは、C ++からFreePascalとのVCLを利用することが何らかの形でLinux上でC ++に移植することとあります。私はそれの実用性/実現可能性のわかりません。 FreePascalとのフォーラムで誰かがそれに答えることができる必要があります。

だから、誰かが言及したように、他の選択肢はいくつかの他のスレッドライブラリを使用して書き直すことになります。

あなたは自分の無料のコンパイラをダウンロードし、それを使って実験してみてください。少なくともWINEの下でそれを実行することが可能です。多分FreeDOSの下ます。

これは、Delphi / Kylixの中のTThreadクラスに関連する必要があります。それはそれを探索するための別の代替です。私は最も重要な方法は、(実行)とシンク()が、私はそれを使用するので、それは年齢をされていたと信じています。

しかし、あなたはきれいにポートをLinuxにコードが、それはいくつかのブーストライブラリか何かを使用して、のTThreadクラスを自分で再実装するのを助けることができるすることを計画している場合。

例えばスレッドのようなフレームワークを提供するいくつかのライブラリがあります。ブースト(www.boost.org)またはACE(ます。http://www.cs。 wustl.edu/~schmidt/ACE.htmlする

これは、これらのスレッドインフラのいずれかを使用するコードのポートにかなり簡単にする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top