기고글 토론 "DLL 생성이 불필요한 이유" - 페이지 4 1234 새 코멘트 fxsaber 2025.12.11 16:20 #31 Maxim Kuznetsov #:마지막 매개변수(cnt)도 64비트입니다. size_t입니다. https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy 고마워요. fxsaber 2025.12.11 16:22 #32 Maxim Kuznetsov #:물론 그렇습니다... 프로토타입은 4(32비트 주소는 부호 없는 인트라)에서, 컴파일/실행은 5(64)에서 합니다. 지체, 나는 더 일찍 롱을 통해 썼다. #define MEMCPY_MACROS(A) \ long memcpy( const long Destination, const A &Source[], const uint Length ); \ long memcpy( A &Destination[], const long Source, const uint Length ); Edgar Akhmadeev 2025.12.11 16:55 #33 Edgar Akhmadeev #:64비트 주소로 요점을 놓쳤습니다. 하지만 수정된 주소에서도 여전히 충돌이 발생합니다. 제대로 작동하는 게 맞나요? 수정된 fxsaber 코드의 전체 예제를 볼 수 있나요? 아직까지는 제 개인적인 생각으로는 WinAPI의 주소가 MQL과 호환되지 않는 것 같습니다. 수정된 버전이 왜 작동하지 않는지 실수를 발견했습니다. 나는 오타를 만들었고, 한 곳에서 놓쳤습니다. 내 의견이 바뀌 었습니다, 모두 감사합니다. Edgar Akhmadeev 2025.12.11 18:11 #34 그런데 MS는 memcpy 함수가 안전하지 않고 더 이상 사용되지 않는 것으로 간주하고 대신 memcpy_s를 제안합니다. 게다가 첫 번째 매개변수는 const가 아닙니다. 그래서 결과는 다음과 같습니다: #define DEF_MEMCPY_S(T) \ ulong memcpy_s(T &dst, ulong size, const ulong src, ulong cnt); \ ulong memcpy_s(T &dst[], ulong size, const ulong src, ulong cnt); \ ulong memcpy_s(T &dst, ulong size, const T &src[], ulong cnt); \ ulong memcpy_s(T &dst[], ulong size, const T &src[], ulong cnt); #import "msvcrt.dll" DEF_MEMCPY_S(char) DEF_MEMCPY_S(uchar) DEF_MEMCPY_S(int) DEF_MEMCPY_S(uint) DEF_MEMCPY_S(long) DEF_MEMCPY_S(ulong) #import void OnStart() { int Array[]; ArrayResize(Array, 1); Array[0] = 123; int Value1 = 0; int Value2 = 0; ulong Address = memcpy(Array, 0, 0); memcpy_s(Value1, sizeof(int), Address, sizeof(int)); memcpy_s(Value2, sizeof(int), Array, sizeof(int)); Print(Value1, " ", Value2); } Denis Kirichenko 2025.12.11 23:39 #35 흥미로운 예시입니다. 전문가를 위한 질문입니다. 벡터, 행렬, 모든 클래스의 객체의 주소를 가져올 수 있나요? Maxim Kuznetsov 2025.12.12 04:23 #36 Denis Kirichenko #:흥미로운 예시. 전문가를 위한 질문입니다. 벡터, 행렬, 모든 클래스의 객체의 주소를 가져올 수 있나요? 아니요 1234 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
마지막 매개변수(cnt)도 64비트입니다. size_t입니다.
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy
고마워요.
물론 그렇습니다... 프로토타입은 4(32비트 주소는 부호 없는 인트라)에서, 컴파일/실행은 5(64)에서 합니다.
지체, 나는 더 일찍 롱을 통해 썼다.
64비트 주소로 요점을 놓쳤습니다. 하지만 수정된 주소에서도 여전히 충돌이 발생합니다. 제대로 작동하는 게 맞나요? 수정된 fxsaber 코드의 전체 예제를 볼 수 있나요?
아직까지는 제 개인적인 생각으로는 WinAPI의 주소가 MQL과 호환되지 않는 것 같습니다.
수정된 버전이 왜 작동하지 않는지 실수를 발견했습니다. 나는 오타를 만들었고, 한 곳에서 놓쳤습니다.
내 의견이 바뀌 었습니다, 모두 감사합니다.
그런데 MS는 memcpy 함수가 안전하지 않고 더 이상 사용되지 않는 것으로 간주하고 대신 memcpy_s를 제안합니다. 게다가 첫 번째 매개변수는 const가 아닙니다. 그래서 결과는 다음과 같습니다:
흥미로운 예시입니다. 전문가를 위한 질문입니다. 벡터, 행렬, 모든 클래스의 객체의 주소를 가져올 수 있나요?
흥미로운 예시. 전문가를 위한 질문입니다. 벡터, 행렬, 모든 클래스의 객체의 주소를 가져올 수 있나요?
아니요