라이브러리: DLL 없는 파일 매핑

 

DLL 없는 파일 매핑:

자체 작성된 DLL을 사용하지 않고 매핑과 직접 작동하는 MQL5 클래스입니다.

Author: ---

 

알렉스, 가상 파일 핸들을 다른 스레드에 전달할 생각은 없나요?

아직 찾지 못했는데, 있다면 알려주세요.

ZY 하지만 일반적으로 이것은 좋은 일입니다.

 
Urain:

Alex, 가상 파일의 핸들을 다른 스레드에 전달하는 것을 고려해 본 적이 있나요?

뭐가 문제인가요?
 
sergeev:
무슨 문제인가요?

핸들을 캡슐화하여 다른 객체에 전달하면 모든 것이 작동합니다.

그런 파일 액세스 전송을 위해 제공한 위치를 찾고 있습니다.

 

클래스에서 메모리 핸들은 이를 사용하는 프로그램(이 객체)에 의해 저장되어야 합니다.

그리고 CMemMapFile에서 - 핸들은 공용 m_hmem에 저장됩니다.

 
sergeev:

클래스에서 메모리 핸들은 이를 사용하는 프로그램(이 객체)에 의해 저장되어야 합니다.

그리고 CMemMapFile에서 - 핸들은 공용 m_hmem에 저장됩니다.

그렇다면 나는 무언가를 잘 이해하지 못합니다 :)

파일을 닫은 후 다른 프로그램에서 열 수 있도록 지정하거나

닫은 후에 파괴됩니까?

그리고 파일이 파괴되고 메모리가 해제 될 때?

 
Urain:

그렇다면 나는 무언가를 잘 이해하지 못합니다 :)

파일을 닫은 후 다른 프로그램에서 열 수 있도록 지정하거나

닫은 후에 파괴됩니까?

그리고 파일이 파괴되고 메모리가 해제 될 때?

아하 알아 냈어, 핸들을 전달할 수는 없지만 파일 이름으로 새 스레드에서 새 열기를 만들 수 있습니다.
 
Urain:

아하, 핸들을 전달할 수는 없지만 파일 이름으로 새 스레드에서 새 열기를 만들 수 있다는 것을 알아 냈습니다.
니콜라이, 내가 왜이 모든 것을 했나요? :) 물론 다른 소프트웨어가 하나의 공통 파일에 동시에 쓰기 / 읽을 수 있도록합니다.
 
sergeev:
니콜라이, 내가 왜 이걸 다 했지? :) 물론 서로 다른 소프트웨어가 하나의 공통 파일에 동시에 쓰고 읽을 수 있도록 하기 위해서였죠.
알렉스, 수고해줘서 고마워요. 저에게는 새로운 주제이기 때문에 아직 사용해보지 않았기 때문에 (라시드가 제안한 기사를) 읽어야합니다. 지금은 그냥 질문입니다. 주제 제목에는 DLL이 없는 것이 강조되어 있습니다. 그러나 kernel32.dll과 msvcrt.dll에 대한 호소가 있습니다. 그렇다면이 솔루션은 시장에 적합하지 않습니까?
 
tol64:
알렉스, 수고해 주셔서 감사합니다. 아직 사용해보지 않아서 아직 새로운 주제이기 때문에 (라시드가 추천한 기사를) 읽어봐야겠습니다. 하지만 지금 당장 질문이 있습니다. 주제 제목에는 DLL이 없는 것이 강조되어 있습니다. 그러나 kernel32.dll과 msvcrt.dll에 대한 호소가 있습니다. 그렇다면 이 솔루션은 마켓에 적합하지 않나요?

시장에는 적합하지 않지만 (아직 의문이지만) Renat은 MQL5 표준에서 이러한 것들을 구현하는 것에 대해 생각할 것이라고 말했습니다.

제목에서 자체 작성된 dll이 없는 것을 의미했는데, 결국 표준 Windows dll이 자체 작성된 것보다 더 안전합니다.

 
Urain:

제목에 자체 작성된 dll이 없다는 의미는 결국 표준 Windows dll이 자체 작성된 dll보다 안전하다는 뜻입니다.

예, 자체 작성된 dll이 없다는 뜻입니다. 그리고 표준은 모든 사람이 자신이하는 일을 알고 있다는 점에서 안전합니다.
시장의 경우이 솔루션 (기존 규칙에 따라)은 적합하지 않습니다.


그러나 시장 (정말 희망)은 제가 제안한 변형을 기본 변형으로 받아 들일 것입니다.ex5 라이브러리에서 함수를 호출하는 Expert Advisor를 게시할 수 있습니다 .

즉, 모든 dll 호출은 ex5에 배치되며 시장에 노출되지 않고 코드베이스 또는 개발자 사이트에 있습니다.