그러면 역순으로 로드됩니다. 첫 번째 "Test2.dll". 그것은 보일 것입니다 - 차이점은 무엇입니까? 이것은 필수적이며 어떤 경우에는(.dll에 특정 로딩 순서가 필요함) 오류와 함께 종료됩니다. 'Test1.dll'을 로드할 수 없습니다. 문제는 코드의 관점에서 보다 논리적인 로드 순서를 직접으로 변경하는 것입니다. 또는 이 순서가 미래에 변경되지 않도록(역순으로 조정된 코드가 갑자기 작업을 중지). 현재로서는 코드를 역순으로 조정해야 합니다.
특수 함수를 사용하여 포인터의 동등성을 비교할 수 있다는 사실과 포인터를 사용한 다른 모든 산술 연산 (덧셈, 뺄셈, 곱셈 등)은 그 자체로는 의미가 없지만 관점에서만 흥미롭습니다. 과부하 가능성.
수학적 기반과 파생 클래스를 생성하고 몇 가지(하나 또는 두 가지가 아닌) 산술 연산을 재정의하고 이를 가상으로 만든 다음 이를 기반으로 복잡한 표현식(a = b + c 뿐만 아니라)을 테스트하는 것만으로 더 가까워질 수 있습니다. 이제 모든 것이 최적으로 완료되었음을 이해합니다. 그 동안 당신은 초기 수준에서 이야기하고 있습니다.
평등에 대한 포인터 비교를 별도의 함수로 가져 가면 하나의 (!) 병목 현상이 발생합니다.
class A {};
A *a = b; //однозначно присвоение указателю значения
a = b; //неоднозначно
그러나 현재로서는 포인터에 값을 할당하는 다른 구문이 없기 때문에 operator=()에 대한 호출이 아니라 할당으로 처리되어야 합니다. 반면 a.operator=( b )는 명시적으로 호출할 수도 있습니다.
Spread[] 배열에서 OnCalculate()를 호출 할 때 표시기에 어떤 스프레드 값이 전송되는지 알려주세요. 양초당 높음/낮음/평균?
.dll을 불러오는 순서에 대한 질문이 있었습니다. 선언된 경우
그러면 역순으로 로드됩니다. 첫 번째 "Test2.dll". 그것은 보일 것입니다 - 차이점은 무엇입니까? 이것은 필수적이며 어떤 경우에는(.dll에 특정 로딩 순서가 필요함) 오류와 함께 종료됩니다. 'Test1.dll'을 로드할 수 없습니다.
문제는 코드의 관점에서 보다 논리적인 로드 순서를 직접으로 변경하는 것입니다. 또는 이 순서가 미래에 변경되지 않도록(역순으로 조정된 코드가 갑자기 작업을 중지). 현재로서는 코드를 역순으로 조정해야 합니다.
빌드 1191. 컴파일 오류: 코드 생성 오류
원인을 어디에서 찾아야 하는지조차 모르겠습니다. 빌드 1162에서는 모든 것이 정상입니다.
빌드 1191. 컴파일 오류: 코드 생성 오류
원인을 어디에서 찾아야 하는지조차 모르겠습니다. 빌드 1162에서는 모든 것이 정상입니다.
서비스 데스크로 코드를 보내주십시오.
그것은 고도로 분산되어 있습니다 - 나는 모든 것을 하나의 파일에 수집하려고 노력할 것입니다.
또 다른 코드 - 시간에주의하십시오 - 아마도 20 배 증가했을 것입니다.
지금까지 알려진 두 가지 사례:
1) 연산에서 bool &=(bool 표현식)
2) 초기화 시퀀스의 추가 쉼표: val={ {...},{...} , }
다음은 첫 번째 경우입니다. 코드에 이러한 작업이 많이 있습니다. 이전에는 빌드 1159가 있을 때 문제가 없었습니다. 언제 수정을 기대할 수 있습니까?
코드 생성 오류
서비스 데스크로 보낸 프로젝트 소스: #1332553
서비스 데스크로 코드를 보내주십시오.
코드 생성 오류
//build 1191 class A {}; class B : public A {}; void f( A& a ) {} B *h() { return new B; } void OnStart () { f( h() ); }
결국 내 주머니에 설명 된대로 되지 않도록주의하십시오. 다음 예제에서 현재 작동하고 이전에 작동한 * 없이 수행할 수 있는 경우
그런 다음 수행하십시오. 그렇지 않은 경우 혁신을 사용하기 시작하기 전에 모든 것을 되돌리는 것이 합리적일 수 있습니다.거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
A100 , 2015.08.26 10:35
사실, 당신은 간단하고 이해하기 쉬운 표기법을 제공합니다
~로 교체되다 그리고 이것은 무엇을 위한 것입니까? 녹음할 수 있도록특수 함수를 사용하여 포인터의 동등성을 비교할 수 있다는 사실과 포인터를 사용한 다른 모든 산술 연산 (덧셈, 뺄셈, 곱셈 등)은 그 자체로는 의미가 없지만 관점에서만 흥미롭습니다. 과부하 가능성.
수학적 기반과 파생 클래스를 생성하고 몇 가지(하나 또는 두 가지가 아닌) 산술 연산을 재정의하고 이를 가상으로 만든 다음 이를 기반으로 복잡한 표현식(a = b + c 뿐만 아니라)을 테스트하는 것만으로 더 가까워질 수 있습니다. 이제 모든 것이 최적으로 완료되었음을 이해합니다. 그 동안 당신은 초기 수준에서 이야기하고 있습니다.
평등에 대한 포인터 비교를 별도의 함수로 가져 가면 하나의 (!) 병목 현상이 발생합니다.
그러나 현재로서는 포인터에 값을 할당하는 다른 구문이 없기 때문에 operator=()에 대한 호출이 아니라 할당으로 처리되어야 합니다. 반면 a.operator=( b )는 명시적으로 호출할 수도 있습니다.또 다른 코드 - 시간에주의하십시오 - 아마도 20 배 증가했을 것입니다.
이것은 MQL5를 위한 새로운 최적화 컴파일러입니다(MQL4에는 존재하지 않음). 이것이 작동 방식입니다.
더 나은 대상 코드를 위해서는 더 긴 컴파일 비용을 지불해야 합니다. 수백 줄로 구성된 일부 긴 함수는 매우 열심히 최적화합니다.
이것은 MQL5를 위한 새로운 최적화 컴파일러입니다(MQL4에는 존재하지 않음). 이것이 작동 방식입니다.
더 나은 대상 코드를 위해서는 더 긴 컴파일 비용을 지불해야 합니다. 수백 줄로 구성된 일부 긴 함수는 매우 열심히 최적화합니다.
심지어 필요합니까? 이 "품질 코드"에 가격이 너무 비싸지 않습니까? 상대적으로 작은 성능 향상을 위해 컴파일 속도를 수십 번 낮추십시오. 게다가 많은 경우에 이 증가는 특별히 중요하지 않습니다. 그러나 컴파일 시간을 늘리는 것은 프로그래머에게 고통이 됩니다.
컴파일 옵션을 "디버그" 및 "릴리스"로 만드는 것이 더 나을 수 있습니까?