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);
}
戻る