C 파일이 (헤더 파일을 통해) 다른 스크립트에 포함될 수 있는지 궁금해하고 자체적 인 main 함수를 사용하여 독립적으로 실행할 수도 있습니다. 즉, C 파일은 다른 C 스크립트에 기능을 제공하기 위해 포함될 수 있지만 대체 기능을 제공하기 위해 직접 실행될 수도 있습니다.포함 된 C 파일도 직접 실행할 수 있습니까?
예를 들어, 파이썬 스크립트가이를 수행 할 수 있습니다. 다른 파이썬 파일에서이 코드 가져올 수
def functionsToBeImported():
# code to be run by an importing script
pass
if __name__ == '__main__':
# code to be run by this script independently
pass
(import ABOVESCRIPT
)는 functionsToBeImported
에 대한 액세스를 제공하거나, 독립적 if
블록 내의 코드를 실행하는 (python ABOVESCRIPT.py
)을 실행한다.
나는 myScript.c를 통해 C에서이 작업을 수행하려고 시도했습니다
#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()이 하나 있습니다. –
나는 당신이 말하는 내용을 복제하고 아래에서 내 대답을 편집하는 방법을 생각했습니다. –