안녕하세요.
namespace를 없애고 아래와 같이 코드를 만들었는데도, Class의 생성자 소멸자가 인식이 안된다고 합니다.
뭔가 잘못된게 아닐까요?
(상대편은 Class를 다 없애 달라고 하고 있습니다. 작업량이 어마어마할 것 같은데... 큰일입니다.)
제가 Borland C++ 5.0으로 작성된 코드를 찾아서 봤는데 생성자/소멸자 등을 사용하고 있었거든요.
혹시 dll이라서 뭔가 안되는건지, Borland C++ 5.0은 생성자/소멸자를 사용하는 방법이 다른건지 궁금합니다.
@@@ 변경 코드 @@@
#ifndef DLL_EXPORTS
#define DLL_API __declspec(dllimport)
#else
#define DLL_API __declspec(dllexport)
#endif
class A
{
public:
DLL_API A();
DLL_API virtual ~A();
DLL_API virtual int B();
DLL_API virtual int C();
private:
int D;
double E;
BYTE * F;
}
Lee 님이 쓰신 글 :
: 아!! 참고로 제가 만든 dll은 VC++ 6.0에서 만든것인데, 제가 namespace만 지운다면
: Bolrand C++ 5.0에서 사용하는데 무리가 없다고 보면 되겠네요?
:
: 정말 큰 도움 되었습니다. 감사합니다.
:
: 님이 쓰신 글 :
: : Borland C++ 5.0은 1997에 출시된 제품입니다.
: : 님께서 VC++를 사용하신다고 하셨는데 Visual C++ 5.0이 1997년이라서
: : Visual Studio 97이라고 불리웠었죠.. (아 그리워라 20세기...)
: :
: : 그 잘난 VC++도 VC++2003에서야 namespace를 사용할수 있게 되었습니다.
: :
: : 하지만 클래스, 생성자, 소멸자는 물론 옛날(1990년)부터 사용가능합니다. namespace때문에 못알아듣는 것이죠.
: :
: : 같은 이름의 클래스가 있어서 서로 충돌하는 상황이라서 불가피한 경우가 아니라면 nampespace 지우셔도 충분하다고 생각합니다.
: : 어짜피 필수적인 요소라기 보다는 여러 라이브러리가 포함된 경우 발생할 수 있는 이름 충돌을 방지하는 목적 뿐이니까요.
: :
: : 그럼...
: :
: : Lee 님이 쓰신 글 :
: : : 안녕하세요.
: : :
: : : Borland C++ 5.0에서 아래 코드를 사용할 수 없는지 궁금합니다.
: : :
: : : 저는 현재 VC++을 사용하고 있는데, VC++을 이용하여 DLL을 만들어 Borland C++ 5.0 사용자에게 주었습니다.
: : :
: : : 근데 하기 코드 중에 namespace와 class, 생성자, 소멸자를 borland c++ 5.0에서는 사용할 수 없다고 하네요.
: : :
: : : 제가 볼랜드는 사용해 본 적이 없어서,
: : : 그분이 사용방법을 몰라서 그러는건지 지원이 안되는건지 판단이 안됩니다.
: : : (진짜로 볼랜드 C++ 5.0에서는 namespace와 class 등은 사용할 수 없나요?)
: : :
: : : 좀 도와주세요.
: : :
: : : 코드 구성은 하기와 같습니다.
: : :
: : : <코드구성>
: : :
: : : namespace ABC
: : : {
: : : class A
: : : {
: : : A();
: : : ~A();
: : :
: : : ....
: : : }
: : : }
: : :
|