プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

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

A 回答 (3件)

OSが違えば、まずどのようなプログラムも動きません。


ソース互換があるかどうか、ということになります。

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

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

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

なかなか一言では言えない世界ではあります。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2009/05/27 18:22

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



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

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

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% …

今注目なGUIツールキットは、最近LGPL化したQtでしょうか。
http://ja.wikipedia.org/wiki/Qt
http://www.sra.co.jp/qt/
GoogleEarth等でも使われていますよ。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2009/05/27 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!