プログラミング初心者です。これからC++をやろうと思っています。
そこで、いろいろ調べたところ、WindowsでやるにはVisual C++を使うのが良さそうだという結論に至りました。というか、それ以外にコンパイルの仕方がわかりません。ここで不安なのが、Visual C++を使用して描いたプログラムは、MacやLinuxでも動くのでしょうか?
C++の初心者用の本は一冊買ったのですが、Visual C++についてはほんの2ページくらいしか書いていなく、ウェブ上で見たVisual C++のサイトでは、本に書いてあるものと若干プログラムの書き方(文法?)が違っていました。ということは普通のC++ではないのかな?と感じ、また、Windowsでしか動かないのでは、と思ったので質問させていただきました。
そうなら、もし他にVisual C++のようなソフトがあれば教えていただきたいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
OSが違えば、まずどのようなプログラムも動きません。
ソース互換があるかどうか、ということになります。
Visual C++を使うとWindows以外では動かない、という
ことではなくて、Windows独自のライブラリを使うと他の
OSとはソース互換も無くなる、ということになります。
ただし、LinuxもWindowsプログラムを動作させる環境を
作ったりしていますので、この範囲で動くプログラムなら
実行形式でも互換があると言えます。
また、同じWindowsでもXPでは動くけどVistaでは動かない
ものもあります。
なかなか一言では言えない世界ではあります。
一言では言えない世界・・・その通りですね。
どうもコンピュータに対する理解がまだまだ足りないみたいです。
プログラミングをする前からつまずいちゃうのも何なので、とりあえずVisual C++を使ってみることにします。
No.2
- 回答日時:
Visual C++で作ったWindows向けのプログラムを、LinuxやMacで動かすことがことができるかどうかということであれば、一応「できます」。
具体的には、WineやMonoをLinuxやMacにインストールし、Windows用のプログラムを動作させるための環境を作ります。Macの場合、VMware Fusionのユニティ表示を使っても、それっぽいことができます。
もちろん、普通にVMwareやQEMUなどで動かすことは可能ですが、これは期待している回答ではないですよね。
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% …
今注目なGUIツールキットは、最近LGPL化したQtでしょうか。
http://ja.wikipedia.org/wiki/Qt
http://www.sra.co.jp/qt/
GoogleEarth等でも使われていますよ。
丁寧な回答ありがとうございます。
しかし、自分には理解不能な単語がちらほら出ているので、載せてくれたウィキペディアのページも見つつ、ゆっくり理解していこうかと思います。
お勧めのツールも、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- C言語・C++・C# visual studio 2019 についての質問です 1 2022/09/21 09:58
- C言語・C++・C# 「using Windows」でエラーが出る 3 2022/12/23 19:53
- C言語・C++・C# Switch向けにpcでc言語でゲームを作っているのですが、開発環境はWindows10のvisua 1 2022/04/02 07:04
- Windows 10 アプリ内のMicrosoft・・・ 4 2022/10/10 16:08
- C言語・C++・C# C# 標準出力のencodingをutf8にする 1 2023/02/15 12:38
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webプログラムってネイティブア...
-
VBA
-
指定したフォルダーを最前面表...
-
Excel VBA じゃんけん
-
プロダクションコードとは?
-
expectを使用しない対話型処理
-
processingで雪が積もるような...
-
openGLで物体を半透明にして表...
-
Visual C++でDESを使って文字列...
-
部品(ソースコード)は自分の...
-
SMC-4DL-PCIボードでのプログラム
-
MATLABで同じ音を鳴らす?
-
CGIの記述について教えてくださ...
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
Pythonを用いて等高線図を作成...
-
C言語の勉強法について
-
VBAのプログラムが動いているか...
-
時刻歴応答解析
-
GPUとCPUを使えば簡単に高速化...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
C言語→MATLABへの変換で、困っ...
-
XPathの関数「text()="value"」...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報