• ベストアンサー

C言語で作ったらWindowsでもMacでもLinuxでも動くんですか?

chie65535の回答

  • chie65535
  • ベストアンサー率43% (8514/19356)
回答No.2

動かない。 Mac用はMac上で、Linux用はLinux上で、Windows用はWindows上で、再コンパイルしないといけない。 で「違うパソコンでコンパイルする」んだから「使うコンパイラも違う」事になり「コンパイラが違えば動作も違う」って事になる。 「動作が違う」ってのは「動かない」と同義。 下手すると #include <stdio.h> int main(void) {  printf("Hello world\n"); } でさえ「同じには動かない」事もある。動かないどころか、コンパイルさえ出来ない事も。 じゃなかったら、ソフトハウスは「移植」で金取れないよ。

rabitwo
質問者

お礼

それぞれのOSで使えるコンパイラでコンパイルしないといけないのですね。 文章はテキストファイルだからOKということで。 ありがとうございます。

関連するQ&A

  • WindowsでのC と LinuxでのC の違いについて

    これから、Linux OSでC言語のプログラミングを行うことになりました。ディストリビューションはVine Linux 3.2 を利用します。 開発方法としては、Windows Xp 上でgccを利用できるIDE(Dev-C++ 4.9.9.2を利用します)で開発を行い(テスト的にコンパイル)、できたソースをLinux上でコンパイル・リンクするという方法で行おうと考えています。 そこで、疑問があります。 ANSIライブラリの中にはシステムコールを実行するものがあると思います。システムコールはOSの一部の機能ということですので、WindowsとLinuxとでは当然その機能は違ってくると思います。 つまり、WindowsでANSIライブラリを利用して実装したプログラム(コンパイルもとおる)がLinux上で正常に機能するのか(そもそもコンパイルがとおるか)がわかりません。 どなたかご教授いただけましたら幸いです。 宜しくお願いします。

  • LinuxとC言語

    Linux初心者です。LinuxとC言語についていくつか質問 させていただきます。 1.どんなリナックスにもgccは入っているのでしょうか? 2.Linuxには色んな種類のものがありますが、 全てのLinuxでコンパイルや動作は可能でしょうか? 宜しくお願いします。

  • C言語 Linux Mac

    Mac Linux C言語 MacでLinuxをダウンロードするにはどうすれば良いのでしょうか? (種類が多くて困っています) 今日C言語を主に扱う会社に面接に行ってきて、帰り際に「Linux上で動くC言語のMACアドレスを検知するプログラムを一週間後までに作ってきてくれ」と頼まれました。 OSとしてはMacを使っていて、まずはLinuxをダウンロードしたいのですが種類が多すぎて選べません。 Linux上で動くC言語のプログラムを作りたい場合どのLinuxの種類をダウンロードするのが適切でしょうか? Web系(HTML,CSS,JavaScript)の職業訓練を半年受けていたので本当に基本的な事はわかってると思うのですが VirtualBoxでLinuxをダウンロードする際「Download VirtualBox for Linux Hosts」まで行くのはわかるのですが、その後種類が多く困っています。 どれをダウンロードするのが適切でしょうか?(画像の画面の場合です。)

  • Vine Linux 2.6 でC言語で開発

    Vine Linux 2.6をインストールの種類でワークステイションを選択してインストールしました。 が、自作したC言語のプログラムをコンパイルしようと思いましたが、「gcc」コマンドが無いようです。 ワークステイションを選択してインストールするとgccはインストールされないのでしょうか? また、インストールされていなかったとしたらインストール方法を教えてください。

  • C言語とC++言語

    C言語でコンパイルできC++でコンパイルできないプログラムとその逆でC++でコンパイルできC言語でコンパイルできないプログラムを教えてください。よろしく

  • LinuxにてC言語を作成が、変換が出来ません。

    LinuxにてC言語を作成が、変換が出来ません。 gccにてコンパイルを行っていますが、半角カナから全角カナの変換が上手く出来ません。 StrConvみたいな関数があれば教えて下さい。 宜しくお願いします。

  • C言語についてどうしてもわからない疑問

    プログラミング初心者です。 C言語を勉強中に疑問に思ったことが2つあります。 まず1つ目。 C言語以外のプログラミング言語、例えばjavaとかC#とかjsとかpythonとかrubyとかPHPとか、には開発者にとって便利なライブラリとかフレームワーク(僕にはこの2つの明確な違いがわかりません。が、どちらも「開発者が定義しなくてもよい関数やオブジェクトの集合」という認識があります)がありますよね。 そのおかげで色んな人達がプログラミングし易くなりました。 ネット(はてぶのホットエントリとか)でも「馬鹿な俺がプログラミングを勉強して〇〇を作った」といった記事をよく目にします。 でも「C言語を使って」というのは聞いたことがありません。 そもそも、C言語はそいういったライブラリやフレームワークが少ないように感じます。 検索してもrailsとかjqueryのようなフレームワーク(ライブラリ?)は見つかりません。 これが無かったらプログラムなんて作れないのでは? しかし、世間にはC言語で作られたプログラムが多いのもまた事実。 C言語ではいったいどのように開発が行われているのか教えてください。 2つ目 unixとかlinuxといったOSはC言語で書かれている聞いたことがあります。 しかし、プログラムの開発は「コードを書く→コンパイル(→デバッグ)→実行」という流れですよね。 ではOSを開発するときに、そのコードをどうやってコンパイルするのでしょうか? コンパイラはOSの上に立っているとするなら、OSがない状態でコンパイラはどこに立てばいいのか。 そこがわかりません。 誰かこの2つの疑問に答えてください。 お願いします。

  • Mac-Win-Linux 共通の最良言語は?

    同じコードを OSに依存せずに Mac でも Windows でも Linux でも走らせることができる エレガントな言語は何でしょうか? C++ のような方言だらけの言語ではなく、使いやすい すっきりした言語を教えて下さい。 その言語のコンパイラーの入手方法を含めて よろしくお願いします。

  • MacでのC言語について

    MacでC言語の環境を作ろうと思いXcodeをインストールしたのですが、コンパイルができません。 取り敢えずhello.cを作り、ターミナルを起動してディレクトリを移動しgcc hello.cと入力したのですが「-bash: gcc: command not found」と表示されてしまいます。 OSはLionです。 プログラミング初心者なので説明不足かもしれませんが分かる方どうか教えて下さい。

  • C++11について

    C++11は、Windows,Linux,Macともに使えるものなのでしょうか? (1)結局、コンパイラが対応してるかしてないか? (2)C++11は、まだ完成していない? (3)gccのバージョンで使える、使えないが決まるの? (4)コンパイルする場合、どんなオプションをつける必要がある? (その他になにかしないといけないことがある?) といろいろわからないことだらけなので、C++11について詳しい方や、使用したことある方解答お願いします。 よろしくお願いします。