C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76046] Re:Re: scoped lock은 TMonitot와 어떡해 다른가요
질문 [] 1308 읽음    2021-02-15 20:21
저는 쓰레드 동기화로 TMonitor::Enter와 TMonitor::Exit를 쓰고있는데요
scoped lock은 다른가요?


빌더(TWx) 님이 쓰신 글 :
: 음 님이 쓰신 글 :
: : 2차원 배열 동적할당을 하고
: : 동적할당된 배열의 사이즈를 찾아보았습니다.
: :
: : 1x1 배열을 만든 경우는
: : 동적할당된 배열의 사이즈는 3x1로 나왔습니다.
: :
: : 12x1 배열을 만든 경우는
: : 동적할당된 배열의 사이즈는 13x1이 나왔습니다.
: :
: : 비쥬얼스튜디오에서 한 경우에는 정상적으로 나왔는데 c++ 빌더 커뮤니티 에디션으로 한 결과는 같은 코드에서 이상하게 나왔습니다.
: : 어디에 문제가 있을까요?
: :
: : 아니면 다른 방법이 있다면 추천 부탁드립니다.
: : 
: :
: : 아래는 제가 만든 코드입니다.
: :
: : - 2차원 배열 동적 할당   
: :         double** data;
: :     //2차원 배열 동적 할당
: :     data = new double*[m_Rows];
: :     for(int i = 0; i< m_Rows; i++){
: :         data[i] = new double[m_Cols];
: :         for(int j = 0; j<m_Cols; j++){
: :             data[i][j] = 0;
: :         }
: :     }
: :
: : - 동적할당된 배열의 사이즈 찾기
: :     m_Rows = _msize(data)/sizeof(data[0]);
: :     m_Cols = _msize(data[0])/sizeof(data[0][0]);
: :
:
:
:
:
: 답변:
:
:
: 바빠서 요점만 남깁니다.
:
:
: 델파이 버전 몇 부터인가 부터...
: 메모리 매니지먼트 코드로 fastMM 을 베겨서 쓰고 있는데
:
: fastMM은 힙 블럭을 small, medium, large로 구분해서 메모리를 관리하는
: 간단한 방법으로 구현되어 있고, 파스칼 컴파일러 자체가 옵티마이징이 후져서
: 속도를 낸답시고 단무지 같은 방법으로 어셈블리 코드를 잔뜩 쓰고 있죠. (델파이 RTL도 마찬가지)
:
: 델파이에서 베껴쓰고 있는 메모리 매니지먼트 코드는 fastMM 의 간략화된 버전이라고 보면 되고.
:
: C++빌더는 파스칼로 컴파일 되어 있는 델파이 RTL, VCL에 종속되어 있기 때문에
: 메모리 매니지먼트 구조도 종속성을 피할 수 없고.
:
: 64비트 컴파일 환경에선 _msize() 자체가 아예 구현되어 있지도 않고
: 'Link with Dynamic RTL'로 지정하지 않으면 32비트로도 컴파일 할 수 없는 문제도 갖고 있지요.
:
:
:
: 델파이가 베껴 쓰고 있는 fastMM 메모리 매니지먼트 내부 구조를 변경해서
: RTL과 C++ 런타임 코드를 후킹하지 않으면 정확한 사이즈를 얻는 게 델파이 때문에 구조적으로 불가능 합니다.
:
:
: 델파이와 완전히 분리해서 C++ 독립적인 구조로 개발환경이 바뀌지 않는 이상.
: 지금의 C++빌더는 족보도 없는 이상한 컴파일러에 불과한 거고.
:
: C++17 스펙으로 반드시 정의되어 있어야 할 scoped lock 조차도 구현되어 있지 않은 엉터리 컴파일러.
: 이런 엉터리 컴파일러를 돈 받고 파는 뻔뻔함은 도대체 어디서 나오는 건지...
:
:
:

+ -

관련 글 리스트
76029 2차원배열 동적 할당 및 동적할당된 배열 사이즈 1515 2021/01/28
76032     Re: 델파이 때문에 엠바툴로는 불가능 빌더(TWx) 1668 2021/02/01
76046         Re:Re: scoped lock은 TMonitot와 어떡해 다른가요 질문 1308 2021/02/15
76058             Re:Re:Re: scoped lock은 TMonitot와 어떡해 다른가요 빌더(TWx) 1476 2021/02/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.