2012-04-23 7 views
1

私は20年前に書かれた非常に古いライブラリを使用しなければなりませんでした。私はREGSユニオンを使用する部分を除いて、ほぼ完全にコンパイルします。私が行ったGoogleの検索から、REGSはDOS.hファイルの割り込み処理の一部です。 DOS.hの現代版を見ると、REGSの定義は見当たりません。DOS.hのC/C++ REGS共用体はもはや利用できません。他の選択肢はありますか?

インターネット上の記事の中には、BorlandやTurboのいずれかのコンパイラ固有のものがありますが、このコードはさまざまなコンパイラで動作するように書かれています。

私は何をすべきですか?古いDOS.hファイルが浮動していますか?

使用方法:Visual Studio 2010をコマンドラインからコンパイルします。

+3

これは正確に何のために必要ですか?これ以上、16ビットコードを書いているわけではありません。 –

+0

@CatPlusPlusいいえ、私は16ビットコードを書いていません。しかし、可能であれば、コードを変更しないでください。コードは古い数学ライブラリです。私はもっ​​と言いたいのですが、私はできません。 – kevin628

+0

近代的な数学ライブラリがたくさんあります。このようなものが必要なのは何か特別なものがありますか? – Collin

答えて

0

あなたができることは、 REGSを実行していることを把握し、その上位レベルで同じことをできるだけ近づけることです。ほとんどの場合、REGSはDOS関数を呼び出すために使用され、そのほとんどはWindows上で通常の関数として呼び出すことのできる同等の関数を持っています。他のものはBIOS機能を使用することになっていました。

しかし、REGSで何が達成されていたかわからなくても、交換が行われる/考えられることを推測することは不可能です。

1

REGSユニオンを作成することは、あなたの問題の中では最少です。アプリケーションは、いつでも割り込みを呼び出すことはできません。彼らが試してみると、私はシステムによって止められます。

より良い方法は、達成しようとしているタスクを特定してから、Windows APIを使用してそれを達成する方法を探し出すことです。

EDIT

上記のコメントは、私が仮定した推測され、あなたは現代のWindowsの開発を行っていると仮定しています。使用しているツール以外に、開発しているアプリケーションの種類(コマンドライン、ウィンドウ、32ビット、64ビットなど)については言及していませんが、タスクについて何も言わないあなたは達成しようとしています。

16ビットDOS用に開発している場合でも、割り込みは可能です。

+0

私はそれを現代のアプリケーション(C#アプリケーション)で使用できるライブラリにコンパイルすることに興味があります。これは数学関数のライブラリであり、実際にはそれについてです。 – kevin628

+1

新しい情報に基づいて、私は割り込みが正しいアプローチではないと言えるでしょう。申し訳ありませんが、「数学関数のライブラリ」では、どのAPIが役立つかを示すための十分な情報が提供されていません。 –

関連する問題