이 문제에 대한 도움이 필요합니다.Windows DLL에서 내 보낸 함수가 Windows exe에서 호출 된 대기 시간 또는 컨텍스트 이동 시간
Windows DLL에서 내 보낸 함수가 Windows exe에서 호출 될 때 대기 시간 또는 컨텍스트 이동 시간이 나타납니다.
어떻게 결론을 내렸는가? DLL 내보내기 기능의 대부분은 1 밀리 초 미만으로 완료되는 것으로 나타났습니다. 그러나 때로는 DLL 함수가 호출 될 때부터 반환 될 때까지 포인트를 타임 스탬핑하는 경우도 600mSec입니다. 이것은 슬레이브 측에서 버퍼 오버 플로우 및 데이터 손실을 유발합니다. 실제로 사용하고있는 USB to SPI 변환기입니다. DLL은 USB 피드 인 &을 가져 와서 반대쪽 끝에서 SPI 데이터를 방출합니다. 따라서이 함수가 600mSecs까지 돌아가려면 SPI 슬레이브에 대한 데이터가 느슨합니다. (SPI는 또한 많은 15 MHz의 SPI 속도를 고려하고,이 크기의 & 쓰기를 읽을 수 있지만, 우리는 4 바이트를 읽기)가 15 개 이상의 밀리을하지 않는 DLL의 기능을 프로파일에
.
그렇다면 컨텍스트 이동 시간입니까? 내 exe 자체에 DLL의 코드를 통합하는 것이 도움이 될까요? 내가 볼 수있는 유일한 지연은이 DLL의 함수 호출을 통해서입니다. 내가 선점을 일으킬 수있는 방법이 없으므로 내 응용 프로그램이 Win 7 기계에서 더 많은 CPU 시간을 얻습니다. Visual Studio를 사용하고 있습니다.
좋습니다. 이것에 대한 당신의 도움을 감사하십시오.
감사 Sakul
감사합니다, 그레이트 제안 Selbie – user1960734