ここから本文です

objective-cをwindowsで動かすことについて質問です。

landrさん

2014/3/2308:13:52

objective-cをwindowsで動かすことについて質問です。

objective-cは基本的にMac専用の言語だと言いますが、それってwindowsで適当なエディタでobjective-cのコードを書いてもwindows上では動かせないということですよね?何で動かせないんですか?

閲覧数:
2,269
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

khurataさん

2014/3/2317:07:01

■objective-cは基本的にMac専用の言語だと言いますが
いや、そういうわけではありません。C や Java がそうであるように、Objective-C も、特に OS を選ぶ言語ではありません。
そもそも Objective-C が最初に使われ出したのは NeXTSTEP という OS であり、Mac OS ではありませんでした。
cf. http://ja.wikipedia.org/wiki/NEXTSTEP

後年になって、Mac OS や iOS が主力開発言語として Objective-C を採用したのですが、他の OS はそうしなかったため、いかにも Mac OS 専用であるかのように誤解されているのです。



■windowsで適当なエディタでobjective-cのコードを書いてもwindows上では動かせないということですよね?
いえ、Windows でも Objective-C をコンパイルして動かす事が出来ます。
すでに回答が付いているように GNUStep を導入しても使えますし、そこまでしなくても、MinGW の gcc でコンパイルする事が出来ます。
(つまり、Linux でも Objective-C は使えるということです)
cf. http://komanew.blogspot.jp/2010/09/windowsobjectivec.html



■何で動かせないんですか?
前述の通り、Objective-C プログラムは、Windows でも動かせます。
しかし、「Mac で動く Objective-C プログラム」全てが、Windows で動くわけではありません。
それは、Mac OS 専用のフレームワーク(デカいライブラリだと思ってください)を使うプログラムの場合です。
たとえば Cocoa や Cocoa Touch を使ったプログラムは、他 OS では動きません。
逆に言えば、「ある OS 専用のライブラリを使っていない Objective-C プログラム」であれば、それは Windows でも Linux でも Mac OS でも、ソースコード・レベルでは移植できるという事です(それぞれのコンパイラで再コンパイルすれば動く)。

これは、C や C++ など、他のコンパイラ言語でも同じ事が言えます。stdio.h しか使っていないプログラムならば、Windows でも Linux でも Mac OS でも再コンパイルするだけで動かせますが、windows.h を使ったり .NET Framework を使ったりすると、Windows でしか動かせなくなります。

質問した人からのコメント

2014/3/23 18:15:05

わかりやすく、また詳しいので助かりました!
ありがとうございます。

ベストアンサー以外の回答

1〜1件/1件中

har********さん

2014/3/2309:43:21

「GNUStep Windows」で、ネット検索してごらん。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる