|
네 답변 감사합니다.
Command.h 에다가
#ifndef CommandH
#define CommandH
void Command1(void);
#endif
이렇케 넣엇고
Command.cpp에다가
#Include "Command.h"
void Command1(void){
~~~~~~~~
}
이렇케 넣엇습니다.
이경우 만약 메인에서 불러 쓸경우
[Linker Warning] Public symbol 'Command1' defined in both module C:\DOCUMENTS AND SETTINGS\MAIN.OBJ and C:\DOCUMENTS AND SETTINGS\Command.OBJ.
라고 에러가 뜹니다.
무엇이 잘못되었을가요 ㅜㅜ
송신영 님이 쓰신 글 :
: 함수 프로토 타입을 Command.h (해더파일)에 선언하고
: 해당 함수들을 사용하고 싶은 cpp 파일에서 Command.h 해더파일을 인클루드 시킵니다.
: #include "Command.h"
: 그러면 Command.h에 선언된 함수를 extern 없이 사용할 수 있습니다.
: 당연히 함수의 정의는 Command.cpp에서 해두어야하고요.
:
: #include "Command.h" 하면 Command.h 파일에 내용을 그대로 해당 위치에 복사해 넣는 다고 생각하면됩니다.
: 기타 자세한 것은 #include라는 것에 대하여 공부해 보세요.
: c 언어 및 c++ 언어에 대한 기초를 좀더 공부하셔야겠습니다.
: 그럼..
:
: ‹@$ 님이 쓰신 글 :
: : 검색을 해보아도 이런 부분은 찾기가 쉽지 않쿤요
: :
: : 일단 제가 사용하는 cpp의 종류가 3종류입니다.
: :
: : 1. main.cpp
: :
: : 2. Command.cpp
: :
: : 3. Drive.cpp
: :
: : 지금까지는
: :
: : main.cpp 에서 command.cpp내의 함수를 불러서 사용하기위해서
: :
: : command.cpp 내에는 command1(); 이라는 함수가 선언되어 있다고 가정을 하고
: :
: : main.cpp 에서 쓸려면 extern command1(); 라는 문구를 써주어 해결을 보앗는데요
: :
: : 쓰기가 영 불편하더군요...
: :
: : 쓰기위한곳에서 항상 extern을 해주어야 하니 보기도 그러코
: :
: : 그래서 이부분을 해결을 할려고합니다.
: :
: : 원하는부분은 이런겁니다.
: :
: : 위의 3개의 cpp에서 모두 호환이 되는(전역이 되는) 방식으로 선언을 하고싶습니다.
: :
: : 근데 방법을 잘 모르겟군요 자세한 도움이 될만한 글을 찾기도 어렵군요..
: :
: : 기본적인 개념을 잡을수있게 도와주십시요
: :
: : 도움 부탁합니다.
|