差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| gnustep:helloworld [2025/05/24 10:47] – [コンパイル] バックチック -> バッククォート freemikan | gnustep:helloworld [2025/06/13 12:45] (現在) – Replace ObjC with Objective-C freemikan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Hello World ====== | ====== Hello World ====== | ||
| - | + | [[gnustep:|{{: | |
| - | {{: | + | |
| まずは、Objective-Cによって書かれたHello Worldプログラムを実行することを目標とします。 | まずは、Objective-Cによって書かれたHello Worldプログラムを実行することを目標とします。 | ||
| 行 8: | 行 7: | ||
| ===== Hello Worldのソースコード ===== | ===== Hello Worldのソースコード ===== | ||
| 以下のコードをhello.mとして保存します。 | 以下のコードをhello.mとして保存します。 | ||
| - | ObjCのソースファイルは拡張子を「.m」とするのが通例となっているのでそれに習います。 | + | Objective-Cのソースファイルは拡張子を「.m」とするのが通例となっているのでそれに習います。 |
| <code objc> | <code objc> | ||
| 行 22: | 行 21: | ||
| </ | </ | ||
| - | これが最小のObjC+GNUstepのコードというわけではありませんが、十分に短く、かつ、GNUstepの環境が整っていなければビルドできないので、テスト素材としてはちょうどよいです。 | + | これが最小のObjective-C+GNUstepのコードというわけではありませんが、十分に短く、かつ、GNUstepの環境が整っていなければビルドできないので、テスト素材としてはちょうどよいです。 |
| 行 64: | 行 63: | ||
| <cli> | <cli> | ||
| - | $ gcc hello.o | + | $ gcc -o hello hello.o |
| </ | </ | ||
| 行 86: | 行 85: | ||
| - | < | + | < |
| **gccに与える入力ファイルhello.oの位置は意味を持ちます。** | **gccに与える入力ファイルhello.oの位置は意味を持ちます。** | ||
| 例えば、次のようにしてしまうとリンクはパスしません。 | 例えば、次のようにしてしまうとリンクはパスしません。 | ||
| 行 96: | 行 95: | ||
| < | < | ||
| - | gnustep-configのオプションには'' | + | gnustep-configのオプションには'' |
| - | しかし、今回はこれを使いません(使えません)。 | + | しかし、今回はこれを使いません(使えません)。 |
| - | '' | + | '' |
| </ | </ | ||
| ===== Objective-CとGNUstepの関係について ===== | ===== Objective-CとGNUstepの関係について ===== | ||
| Objective-Cはもちろんプログラミング言語ですが、言語単独では極めて使い勝手が悪いです。 | Objective-Cはもちろんプログラミング言語ですが、言語単独では極めて使い勝手が悪いです。 | ||
| - | C言語のスーパーセットである(つまり、C言語として使うことができる)ことを除けば、ほとんど何もできないといってもいいくらいです。 | + | C言語のスーパーセットである(つまり、C言語として使うことができる)ことを除けば、ほとんど何もできないといってもいいくらいです。 |
| AppleのObjective-Cによるプログラミングを支えるのはFoundationフレームワークとCocoaフレームワークであり、切り離すことは困難です。 | AppleのObjective-Cによるプログラミングを支えるのはFoundationフレームワークとCocoaフレームワークであり、切り離すことは困難です。 | ||
| GNUstepはFoundationフレームワーク及びCocoaフレームワークの代替となります。 | GNUstepはFoundationフレームワーク及びCocoaフレームワークの代替となります。 | ||
