2016-04-10 6 views
1

WindowsとUbuntuで線と円の描画コードをコンパイルするのに数週間から苦労しています。最新版のLinuxおよびC/C++コンパイラでは、graphics.hヘッダ/ライブラリのサポートが削除されていますか?

私だけのような簡単なコードにコンパイルして実行することができる午前:私はいくつかの要素のサポートが最新で削除されていると思い

#include <graphics.h> 

int main() 
{ 
    int gd = DETECT, gm; 
    int x = 320, y = 240, radius; 

    initgraph(&gd, &gm, NULL); 

    for (radius = 25; radius <= 125 ; radius = radius + 20) 
     circle(x, y, radius); 

    getch(); 
    closegraph(); 
    return 0; 
} 

のWindows:

#include <graphics.h> 

int main() 
{ 
    int gd = DETECT, gm; 
    int x = 320, y = 240, radius; 

    initgraph(&gd, &gm, "C:\\TC\\BGI"); 

    for (radius = 25; radius <= 125 ; radius = radius + 20) 
     circle(x, y, radius); 

    getch(); 
    closegraph(); 
    return 0; 
} 

のLinuxをOSのバージョン。確認してください。

+3

'grahpics.h'はCでもC++でもありません。あなたは何について話していますか? – Olaf

答えて

3

私はあなたがthe <graphics.h> header shipped by Borland for use with their compilers in 16-bit DOSを指していると仮定します。

これは基本的に1990年代初めのヘッダーです(それはです)年前です! はありませんは今日私達が定義しているように(つまりISO規格C++、1998年に作成された)C++の一部であり、GCC、Clang、Visual Studioなど他のコンパイラには一度も含まれていません。

グラフィックス用の標準ツールはありませんが、Linuxシステムではコンソールベースのグラフィックス用にGNUのncursesライブラリを使用することができます。代替案のためにGoogleまたはSOを検索してください。

これは、特定の国の教育機関が、陳腐化した時代遅れの技術の普及を止め、学生にその状況を説明することさえ気にせずに「C++」と呼ぶことを止めることを望む理由です。私の見解では、それは無責任で境界線の不正です。

1

これは、BorlandのコンパイラでMS-DOSで使用された「Borland Graphics Interface」を使用しています。

元のライブラリは何十年も時代遅れです。

OpenBGIWinBGIという名前のWindows上でBGIインターフェイスを使用するコードをサポートする試みがいくつかあります(他のものもあります)。私はどちらも使用しようとしたことがないので、単なる存在以上に、その品質、完全性、または他の多くについてコメントすることはできません。

ほとんどの場合、新しいシステムに既存のコードを移植するために、このようなライブラリを使用します。このライブラリの品質に関係なく、今日BGIを使用して新しいコードを書くことは想像できません。

関連する問題