main function

さてスッゲェ久々に Linux で C/C++ をやるか。

コンパイルするのがメンドクセェ、Python スクリプトでイイじゃん…
てか今更 ++ の無い C はどうも、class が利用できないなんて考えられない…
とは言わないで、基本は大事だから。

Mandriva One の人は gcc が入っていないので gcc-c++ をソフトウエア管理から入れよう。

なんか Ubuntu とは随分違うんだけど、Mandriva の java うんちゃらって何だろう?
とにかくコレで Mandrina One でも C/C++ のコンパイルができる。

ということで早速超最小限の C 言語コードを書いてコンパイルしましょう。

#include <stdio.h>

main()
{
    printf("はろぉわーるど\n");
}

コレを少し奇妙に思った人は最初をすっとばして勉強している人。
main 関数が値を返していない、引数が無い、でもこれでコンパイルは通るんです。
Windows で C をやっているなら知らない人はいない粂井氏や赤坂氏もコレで始めていますよ。
つまり Visual Studio でやっても同じ結果、return 0; は実は書かなくても良かったりする。

C言語編INDEX
C言語入門

main 関数は仮引数を持たない関数、又は 2 つの仮引数を持つ関数として定義される。

int main(void) { /*...*/ }
int main(int argc, char *argv[]) { /*...*/ }

返却値の無い場合のホストに返させる終了状態は未定義である。
と、私のバイブルである「新ANSI C言語辞典」に書いております。

新ANSI C言語辞典

とりあえず返却値はゼロが戻れば Windows も Linux も正常終了とホストが解釈する。
やたら詳しいページを見つけたのでリンクしておきます、envp なんて初めて知ったよ。
main – 通信用語の基礎知識

ということで CUI なら Linux でも Windows とあまり違いが無いと解りました。
後は粂井氏や赤坂氏のサイトで(ぉい!

いや、もう少しやると思うけど配列とかの基本は本や既存のサイトで十分だもの。
こういう少しヒネクレたネタのほうが私は好きなのです。