• 締切済み

Visual C++とC++の違いとは?

プログラミング初心者です。これからC++をやろうと思っています。 そこで、いろいろ調べたところ、WindowsでやるにはVisual C++を使うのが良さそうだという結論に至りました。というか、それ以外にコンパイルの仕方がわかりません。ここで不安なのが、Visual C++を使用して描いたプログラムは、MacやLinuxでも動くのでしょうか? C++の初心者用の本は一冊買ったのですが、Visual C++についてはほんの2ページくらいしか書いていなく、ウェブ上で見たVisual C++のサイトでは、本に書いてあるものと若干プログラムの書き方(文法?)が違っていました。ということは普通のC++ではないのかな?と感じ、また、Windowsでしか動かないのでは、と思ったので質問させていただきました。 そうなら、もし他にVisual C++のようなソフトがあれば教えていただきたいです。

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

C++の標準仕様の範囲で書かれたコードはLinuxやMacOSでもコンパイル可能です。ただし少しでもそれを外れると互換性が無くなります。 ・VC++には、マイクロソフト独自のライブラリが多数ありますのでそれを使ったらNGです。 ・特にWindowsAPIやDirexctXを使ったらダメだと思って間違いないです。 ・VC++だけだとGUIはWindowsAPI無しには組めませんのでそれもNGです。 ・VC++にはC++に似たC++/CLIが搭載されていますがWindows.netで動く全く別物です。 ではGUIで対応OSを増やすにはどうするかと言うと、マルチプラットフォームなGUIツールキットを使います。 http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%83%BB%E3%83%84%E3%83%BC%E3%83%AB%E3%82%AD%E3%83%83%E3%83%88 今注目なGUIツールキットは、最近LGPL化したQtでしょうか。 http://ja.wikipedia.org/wiki/Qt http://www.sra.co.jp/qt/ GoogleEarth等でも使われていますよ。

noname#98700
質問者

お礼

丁寧な回答ありがとうございます。 しかし、自分には理解不能な単語がちらほら出ているので、載せてくれたウィキペディアのページも見つつ、ゆっくり理解していこうかと思います。 お勧めのツールも、ありがとうございました。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

Visual C++で作ったWindows向けのプログラムを、LinuxやMacで動かすことがことができるかどうかということであれば、一応「できます」。 具体的には、WineやMonoをLinuxやMacにインストールし、Windows用のプログラムを動作させるための環境を作ります。Macの場合、VMware Fusionのユニティ表示を使っても、それっぽいことができます。 もちろん、普通にVMwareやQEMUなどで動かすことは可能ですが、これは期待している回答ではないですよね。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

OSが違えば、まずどのようなプログラムも動きません。 ソース互換があるかどうか、ということになります。 Visual C++を使うとWindows以外では動かない、という ことではなくて、Windows独自のライブラリを使うと他の OSとはソース互換も無くなる、ということになります。 ただし、LinuxもWindowsプログラムを動作させる環境を 作ったりしていますので、この範囲で動くプログラムなら 実行形式でも互換があると言えます。 また、同じWindowsでもXPでは動くけどVistaでは動かない ものもあります。 なかなか一言では言えない世界ではあります。

noname#98700
質問者

お礼

一言では言えない世界・・・その通りですね。 どうもコンピュータに対する理解がまだまだ足りないみたいです。 プログラミングをする前からつまずいちゃうのも何なので、とりあえずVisual C++を使ってみることにします。

関連するQ&A

専門家に質問してみよう