문제

그것은 사용 가능한 C++정적 라이브러리(.lib)사용하여 컴파일을 Visual Studio6Visual Studio2008?

도움이 되었습니까?

해결책

일반적인 CRT 메모리 경계를 유지하는 한 (즉, 라이브러리 기능 내부에 메모리를 할당하는 경우 항상 라이브의 함수를 호출하여 자유 링을 수행하여)

이 접근법은 모든 종류의 컴파일러로 컴파일 된 DLL에 적합합니다. 정적으로 연결된 Libs도 괜찮습니다.

다른 팁

그것은 정말로 달려 있습니다. LIB는 메모리가 직선 Win32 메소드 (CotaskMemalloc 등)에 의해 관리되는 경우에만 'extern "c"기능 만 노출합니까? 6 대 6 이후 크게 변하지 않은 기본 라이브러리에만 의존합니까? 그렇다면 괜찮을 것입니다.

볼 수있는 두 가지 기본 사항이 있습니다. 타사 라이브러리가 사용하는 글로벌 변수의 변경 및 해당 타사 라이브러리에 의해 정의 된 스트러크, 클래스 등의 구조를 변경합니다. 예를 들어, CRT 메모리 할당자는 아마도 두 버전간에 숨겨진 할당 관리 구조를 변경했을 수 있으므로 한 버전의 라이브러리가 메모리를 할당하고 다른 자유가 있으면 충돌이 발생할 수 있습니다.

또 다른 예로서, 인터페이스를 통해 C ++ 클래스를 노출시키고 MFC와 같은 MS 런타임 라이브러리에 의존하면 클래스 레이아웃이 vs 6과 vs 2008 사이에서 변경 될 가능성이 있습니다. 즉 잘못된 일로 가서 예측할 수없는 결과를 초래하십시오. .lib가 어떤 용량 으로든 MFC를 사용한다면 아마도 당신은 아마도 호스가 발생할 것입니다. MFC는 수많은 글로벌 톤을 정의하고 내부적으로 사용하며, .lib의 운영에 의해 MFC 글로벌에 대한 모든 액세스는 호스팅 환경에서 MFC 인프라가 변경되면 고장을 일으킬 수 있습니다 (VS 6, BTW 이후 많은 변경 사항).

MFC 헤더에서 어떤 변화가 이루어 졌는지 정확히 탐색하지는 않았지만 MFC/ATL 기반 클래스 바이너리 사이에서 다른 VS 버전으로 컴파일 된 예측할 수없는 동작을 보았습니다.

이러한 문제 외에도 런타임 라이브러리에 정의 된 정적 글로벌 변수에 의존하는 strtok ()과 같은 함수의 위험이 있습니다. 확실하지는 않지만 다중 스레드 CRT에서 생성 된 스레드에서 단일 스레드 CRT를 기대하는 클라이언트를 사용하는 경우 정적 변수가 제대로 초기화되지 않을까 걱정됩니다. 자세한 내용은 _beginthread ()의 문서를 참조하십시오.

그렇습니다.이 있어야 문제없이 모든.로 gbjbaanb 언급 된,당신은 필요한 마음의 메모리,하지만 VS2008 여전히 작동할 것입니다.로 당신이 시도하고 있지 않을 혼합 CLR(관리)스를 제공함으로써 해결합니다.나는 추천에 대한 모든 가능한 경우.하지만,당신은 이야기에 대한 원료 C 또는 C++코드를 확실,그것은 작동합니다.

정확히 무엇을 사용하여 계획?(이 무엇이에서 이 라이브러리?) 당신은 그것을 시도했는 이미지만,는 데 문제,또는 당신은 단지 확인하기 전에 당신은 낭비 시간의 무리가 무엇인가를 얻기 위해 노력하고 작동하는 그냥 습관?

물론 작동 할 것입니다.

VS2008에서 참조를 코딩 할 위치를 묻고 있습니까?

그렇다면 속성 페이지의 구성 속성에 대한 prop props-> 링커 -> 입력으로 이동하십시오. "추가 종속성"을 찾고 .lib를 코딩하십시오.

Proj Props-> Linker-> General로 이동하여 "추가 라이브러리 디렉토리"에서 LIBS 경로를 코딩하십시오.

그렇게해야합니다 !!

우리가 VS6에서 VS2K5로 이동했을 때 메모리 모델이 변경되었을 때 모든 라이브러리를 재건해야했으며 CRT 기능이 다른 경우에 대답이 있습니다.

VC6, VS2003, VS2005 및 VS2008간에 몇 가지 변화가있었습니다. Visual C ++ (VS2005)는 단일 스레드, 정적으로 연결된 CRT 라이브러리에 대한 지원을 중단했습니다. 일부 파손 변경이 열거되었습니다 여기 그리고 여기. 이러한 변경 사항은 VC6 Build Libs의 사용에 영향을 미칩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top