LANGUAGE
日本語 English

MOS言語仕様 > プログラムの構造

ソースファイルとソースプログラム
メイン関数とプログラムの実行

ソースファイルとソースプログラム

1つのオブジェクト(obj)ファイルを生成するためのソースプログラム(MOSプログラム)は、1つ以上の "ソースファイル"に分けることができます。

例)1つのMOSプログラムが3つのソースファイルから構成される
 sample1.mos.h :ソースファイル1
 sample2.mos.c :ソースファイル2
 sample3.mos.c :ソースファイル3

メイン関数とプログラムの実行

MOSプログラムでは一般のC言語と同様に、いずれかのソースファイルにmainという名前の関数を記述することが必要です。
MOSプログラムの実行はmain関数から開始します。通常この関数からプログラム内の他の関数を呼び出して、プログラムの実行を制御します。
一般のC言語と異なり、main関数へ引数を渡すことはできません。

例)
Sample.mos.cファイル

double dval2, darray[MaxRobAxes];
const double constVal = 123.00;
const double constArray[arraySize] = {1, 2, 3, 4, 5};
tagStruct2 g_struct2;
int a;
double dVal;

void main() {
 dval2 = 100;
 darray[0] = 1000;
 g_struct2.s1.a1 = 10;
 g_struct2.a2[0] = 20;
 dVal = func1();
 a = 0;
 while(a < 100000000) {
  Sleep(100);
  a++;
 }
}

int func1() {
 return(func2(2, 3));
}

double c, d, e, f;
double func2(double a, double b) {
 c = dval2 + a + b;
 d = func3(darray, constArray);
 e = func4(constArray);
 f = func5(g_struct2);
 return(c + d + e + f);
}

double func3(double array1[MaxRobAxes], double array2[arraySize]) {
 double v;
 v = array1[0] + array2[4];
 return(v);
}

double func4(double array1[arraySize]) {
 double v;
 v = array1[0] + array1[1];
 return(v);
}

double func5(tagStruct2 arg1) {
 double v;
 v = arg1.s1.a1 + arg1.a2[0];
 return(v);
}

戻る