Computer/C, CPP, MFC Updated: 2019. 10. 1. 13:33 hwaya.

공용 언어 런타임 지원의 설정에 따라 빌드 결과값이 다르다?

반응형

오잉? 왜! 왜! 다르게 보이는거야??!?

 

예전에 만들어둔 MFC프로그램에서 보는것과 처리값이 다르게 보이는것이다.

'-106' ㅜㅜ

오? 왜 이러지 내가 잘 못 만들었나? (그렇지... 컴퓨터는 거짓말 안하니까~)

디자인 파일이라서 데이터 하나하나가 중요한데..

 

그래서 확인이 필요했다.

계산기 오픈!!

hex 값 96 이면 dec로 150이 맞는데

오잉?!

 

HEX값 96 이면 150 인데..

오잉? 0.00001초 정도 하고...

당연하니까~ 계산기 처리 단위를 바꿔보았다.

BYTE로 바꾸니 8비트만 계산되어 '-106'

그랬다.

뭐... 당연하고 사실 -106이 맞다.............................. 는 안돼!!!

난 저걸 원하는게 아니라고!!!

 

그래서 뭐가 문제일까?

단위도 바꾸고 비트도 자르고 했지만, 귀찮다..

 

빌드 설정 문제인가 싶어서

프로젝트 속성을 확인했다.

의심되어 보일만한 곳은 보이지 않았다...

조금 의심되는 부분이 공용 언어 런타임

 

역시..

'-106' 이 나올때는 공용 언어 런타임이 지원으로 되어 있었다

여기서 잠깐 공용 언어 런타임이란?

.NET Framework에서는 공용 언어 런타임이라고 하는 런타임 환경을 제공하는데, 여기에서는 코드를 실행하며 개발 과정을 더 쉽게 해 주는 서비스를 제공합니다.
컴파일러와 도구는 공용 언어 런타임의 기능을 노출하며 관리되는 이 실행 환경을 활용하는 코드를 작성할 수 있게 해줍니다. 런타임을 대상으로 하는 언어 컴파일러를 사용하여 개발한 코드를 관리 코드라고 합니다. 이 코드에서는 언어 간 통합, 언어 간 예외 처리, 향상된 보안, 버전 관리 및 배포 지원, 구성 요소 상호 작용을 위한 간단한 모델, 디버깅 및 프로파일링 서비스 등의 기능을 이용합니다.

 

이제 '공용 언어 런타임 지원'을 지원 안함으로 하고 빌드하고 값을 보았다.

지원이 좋은데, 착한데..

 

빌드!! 디버깅으로 한번 보자!

 

14번째가 '150' 으로.. 나온다

오!!!!!! 150으로 잘 나온다.

나이스!

 

왜 그렇지...??

닷넷에서 무부호타입이 안되는것도 있어서 그런가?!

아니면 빌드할때, 타입이 Byte으로 바뀌어서 그런가?

시간이 없으니 다음에 찾아보기로 하고, 일단 일이 쌓였으니,,, 일하러...

 

끄읏,

 

한줄요약,

공용 언어런타임의 지원 설정에 따라,
무부호타입의 값 처리 빌드과정중 다르게 바뀌는건가...??
반응형

'Computer > C, CPP, MFC' 카테고리의 다른 글

[CPP, MFC] 윈도우, 다이얼로그 최대화  (0) 2020.06.16
CRegKey/SetValue 바꾸자  (0) 2019.09.12
ReadFile()  (0) 2015.12.04
SetFilePointer()  (0) 2015.12.04
프로그램 종료  (0) 2015.10.13
하위폴더까지 전체 복사하기  (0) 2015.10.02
윈도우 버전 알아보기  (0) 2015.10.02
Windows Styles  (0) 2015.06.15

Table of Contents


    EIGHTBOX
    EIGHTBOX
    hwaya.

    programmer

    🌵나누고 싶은 이야기와 생활정보 : 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람

    Today Yesterday Total
    최신글