C++ VS2010에서 DLL을 만들었습니다.C++ : DLL을 여러 프로세스가 동시에 액세스 할 수있게 만들기
2 개의 프로그램이 동시에 액세스 할 수없는 것처럼 보입니다. 첫 번째 프로그램 1은 DLL에 대한 호출을 완료해야합니다. 그러면 DLL 만 다른 프로그램의 호출을 처리합니다.
DLL을 "멀티 스레드"로 설정해야하는 프로젝트 설정에 특정 스위치가 있는지 알고 싶습니다.
DLL은 Windows SAPI에서 사용됩니다. 프로그램 (내 경우 두 개의 프로그램)은 SAPI를 참조하고 컴퓨터 음성 (컴퓨터 음성은 DLL 임)을 만들 수 있습니다. 두 프로그램이 동시에 대화 할 것을 기대했지만, 서로 기다리지는 못하기 때문에 DLL이 단일 스레드 일 것을 기대했습니다.
감사합니다.
현재 수행중인 작업에 대해 자세히 알려주시겠습니까? 두 프로그램이 동시에 같은 DLL을 사용할 수없는 이유가 없어야합니다. 각각은 DLL을 자체 메모리 공간에로드하고 독립적으로 코드를 실행합니다. 최신 OS에서는 어느 프로세스도 다른 프로세스에 대한 지식이나 액세스를 갖지 않습니다. –
전능하신 것처럼 묘사 될 수있는 이유가 있습니다. 로더 잠금 장치를 잡고있는 동안 많은 것들을 할 수 있습니다. 또한 명명 된 이벤트 또는 다른 동기화 프리미티브에서 동기화 될 수도 있습니다. 우리는 주어진 정보를 알 방법이 없습니다. 하지만 내 돈은 로더 잠금 장치에 있습니다. –
@MicahCaldwell DLL은 Windows SAPI에서 사용됩니다. 프로그램 (내 경우에는 두 개의 프로그램) SAPI를 참조하고 컴퓨터 음성 (내 경우 DLL) 뭔가를 할 수 있습니다. 두 프로그램이 동시에 대화 할 것을 기대했지만, 서로 기다리지는 못하기 때문에 DLL이 단일 스레드 일 것을 기대했습니다. – tmighty