MQL4의 경우 하나의 헤더 파일에 이미 포함 된 헤더 파일을 사용하는 경우 .MQH
헤더 파일을 여러 번 포함 할 예정입니까?MQL4에서 .MQH 헤더 파일을 여러 개 (중첩 된 #include) 포함 할 수 있습니까?
그렇다면 어떻게 예방합니까?
MQL4의 경우 하나의 헤더 파일에 이미 포함 된 헤더 파일을 사용하는 경우 .MQH
헤더 파일을 여러 번 포함 할 예정입니까?MQL4에서 .MQH 헤더 파일을 여러 개 (중첩 된 #include) 포함 할 수 있습니까?
그렇다면 어떻게 예방합니까?
내가 아는 한, 당신은 할 수 없습니다.
이전 질문과 동일 - CElem
은 CObject
이며 CStdLibErr.mqh
을 호출합니다. CArrayObj
은 CObject
을 포함하고 CStdLibErr.mqh
에 대한 참조를 포함하는 CArray
을 호출하므로 CObject
이 두 번 호출됩니다.
(#include
) 동일한 .MQH
을 두 번 호출하려고하지 않으려면 해당 복사본을 만들거나 상속해야 할 수도 있습니다.
C/C++에서와 같은 방식으로 수행합니다.
#ifndef MY_UNIQUE_HEADER_ID_H
#define MY_UNIQUE_HEADER_ID_H
<header file content goes here>
#endif
표준 헤더 파일을 편집하고 원하는 경우이 파일을 추가 할 수 있습니다. 그렇게해도 해를 끼치 지 않고 컴파일 시간을 약간 향상시킬 수도 있습니다.
성능이나 다른 관점에서 여러 번 포함하는 것이 중요합니까? – william007
성능에 관한 어려운 질문 ... 컴파일 할 때 주 파일과 모든 보조 파일을 포함하는 EX4 파일이 생성됩니다. 제가 기억하는 한 mql5.com에 저자가 다른 방법으로 호출 한 이동 평균을 사용하여 속도를 비교 한 기사가있었습니다. 단일 파일은 다른 파일에 대한 링크가있는 파일보다 빠르게 작동하는 것으로 판명되었습니다. 속도 증가가 중요한지 알 수 없습니다. –