みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

プログラミング初心者です。これからC++をやろうと思っています。

そこで、いろいろ調べたところ、WindowsでやるにはVisual C++を使うのが良さそうだという結論に至りました。というか、それ以外にコンパイルの仕方がわかりません。ここで不安なのが、Visual C++を使用して描いたプログラムは、MacやLinuxでも動くのでしょうか?

C++の初心者用の本は一冊買ったのですが、Visual C++についてはほんの2ページくらいしか書いていなく、ウェブ上で見たVisual C++のサイトでは、本に書いてあるものと若干プログラムの書き方(文法?)が違っていました。ということは普通のC++ではないのかな?と感じ、また、Windowsでしか動かないのでは、と思ったので質問させていただきました。

そうなら、もし他にVisual C++のようなソフトがあれば教えていただきたいです。

投稿日時 - 2009-05-27 15:29:25

QNo.4994699

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

zwi

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等でも使われていますよ。

投稿日時 - 2009-05-27 16:47:31

お礼

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

お勧めのツールも、ありがとうございました。

投稿日時 - 2009-05-27 18:24:12

ANo.2

Visual C++で作ったWindows向けのプログラムを、LinuxやMacで動かすことがことができるかどうかということであれば、一応「できます」。

具体的には、WineやMonoをLinuxやMacにインストールし、Windows用のプログラムを動作させるための環境を作ります。Macの場合、VMware Fusionのユニティ表示を使っても、それっぽいことができます。

もちろん、普通にVMwareやQEMUなどで動かすことは可能ですが、これは期待している回答ではないですよね。

投稿日時 - 2009-05-27 16:42:44

ANo.1

OSが違えば、まずどのようなプログラムも動きません。
ソース互換があるかどうか、ということになります。

Visual C++を使うとWindows以外では動かない、という
ことではなくて、Windows独自のライブラリを使うと他の
OSとはソース互換も無くなる、ということになります。

ただし、LinuxもWindowsプログラムを動作させる環境を
作ったりしていますので、この範囲で動くプログラムなら
実行形式でも互換があると言えます。

また、同じWindowsでもXPでは動くけどVistaでは動かない
ものもあります。

なかなか一言では言えない世界ではあります。

投稿日時 - 2009-05-27 15:53:38

お礼

一言では言えない世界・・・その通りですね。
どうもコンピュータに対する理解がまだまだ足りないみたいです。

プログラミングをする前からつまずいちゃうのも何なので、とりあえずVisual C++を使ってみることにします。

投稿日時 - 2009-05-27 18:22:10

あなたにオススメの質問