2009-09-10 7 views
0

응용 프로그램을 초기화하고 종료하는 가장 좋은 방법은 무엇입니까?응용 프로그램을 초기화하는 가장 좋은 방법은 무엇입니까?

  1. 라이브러리는 한 번만 초기화되고 종료되어야하며 임의의 수의 dll에서 사용할 수 있습니다.
  2. 이것을 수행하기위한 표준 설계가 있습니까?
  3. 이 초기화는 매우 첫 번째 단계입니다.

여기서 내가 필요한 것은 싱글 톤입니다. 로드 된 dll의 수에는 동일한 인스턴스 또는 별도의 인스턴스가 사용됩니다.

log4cxx 로거 구현을 사용하고 있습니다. 이 log4cxx는 한 번만 초기화해야합니다. 아무도 의사 코드를 가리킬 수 있습니까

+2

사용 된 응용 프로그램 * by * dlls? 나는 응용 프로그램이 다른 방법으로 사용되는 것이 아니라 라이브러리를 사용한다고 생각했습니다. 아니면 다른 라이브러리에서 사용할 라이브러리에 대해 이야기하고 있습니까? –

+0

예 신청서는 신청서 라이브러리를 의미합니다. – pankajt

답변

2

대부분의 응용 프로그램은 응용 프로그램의 수명이 끝나는 개체를 만들 수있는 단일 진입 점 (표준 C++의 경우 main)을 가지고 있습니다.

당신의 설명에서 당신은 실제로 다른 응용 프로그램에서 사용되는 응용 프로그램 라이브러리 (기존의 의미에서) 자체를 작성하는 것처럼 들립니다.

유일한 안전 할 일은 서비스가 라이브러리에 링크 된 을 동적으로로드하지 못하게 할 수있는 서비스가 없다는 것입니다. 즉, dll을 명시 적으로 언로드 한 다음 다시로드합니다. .

라이브러리에는 dll 언로드와 정상 종료 사이에 관찰 가능한 차이가 없습니다.

라이브러리가로드되는 동안 공유/전역 데이터를 사용하여 초기화를 추적 할 수 있으므로 클라이언트간에 공유 할 수있는 비싼 초기화 단계 만 수행 할 수 있습니다.

아마도 라이브러리를 다시 초기화하는 데 따른 어려움이 무엇을 설명해야합니까?

관련 문제