を別のスクリプト(ヘッダファイル経由)に含めることができるかどうかと、独自のmain関数を使用してCファイルを実行できるかどうかは疑問です。つまり、Cファイルをインクルードしてその機能を別のCスクリプトに提供することもできますが、代わりに別の機能を提供するために直接実行することもできます。Cのファイルもインクルードできますか?
たとえば、Pythonスクリプトでこれを行うことができます。
def functionsToBeImported():
# code to be run by an importing script
pass
if __name__ == '__main__':
# code to be run by this script independently
pass
このコードはif
ブロック内のコードを実行する(python ABOVESCRIPT.py
)functionsToBeImported
へのアクセス権を与えるか、または独立して実行する別のPythonのファイルで(import ABOVESCRIPT
)インポートすることができます。
:
#include "myScript.h"
void functionsToBeImported() {
}
int main (int narg, char* varg[]) {
}
myScript.h:
#ifndef MY_SCRIPT_H_
#define MY_SCRIPT_H_
void functionsToBeImported();
#endif // MY_SCRIPT_H_
が、anotherScript.cでこれを含めるしようとしています:
#include "myScript.h"
int main (int narg, char* varg[]) {
functionsToBeImported();
}
と
gcc -std=c99 -c myScript.c
gcc -std=c99 -c anotherScript.c
gcc -std=c99 -o anotherScript anotherScript.o myScript.o -lm
を経由してコンパイルしようとは、どのように私はこの「二重使用」スクリプトを達成することができ、コンパイルエラー
duplicate symbol _main in:
myScript.o
anotherScript.o
ことができますか?
すべてを統治するmain()が1つです。 –
私は、あなたが言っていることをやや複製し、私の答えを編集する方法を考えました。 –