이번달은 포인터에 대해서 썰을 풀어야 한다.


포인터….

포인터는 무엇인가?


포인터…..pointer


가리키는 놈……………..


가리키는 녀석….


구글에서 ..이렇게 검색을 해보았다.


pointer



과연 뭐가 검색결과로 나올줄 아세요???


과연 개발자가 원하는 그 결과가 나올까요???


흐흐흐흐



결과는~~~!!!


개가 나오는 군요…


아….


‘포인터’

개였군요…


영어로 ‘pointer’로 검색하면

개의 한 종이 나오는 것이군요!!


‘포인터’종은 이렇게 몸에 포인터가 많죠~!

ㅋㅋ



사냥개였군요…

영국개군요….


성격이 있네요.~오~

침착하고 쾌활하며 충성스러우며 부드러우면서 활동적이며 애정이 풍부한 성격~

음..아주 훌륭한 성격인데요~~!!



자 이번엔 한글로 ‘포인터’를 검색해보니…

음...

3가지를 보여주는 군요..구굴은 말이죠~

그런데, 씨언어의 포인터가 가장먼저 나오고

그다음 개~

그 다음은 프레젠테이션시 사용하는 포인터~!

ㅎㅎㅎ


그래도, 개발자가 원하는 포인터를 먼저 보여주는 군요…….

ㅎㅎㅎㅎ



암튼….


포인터는

점이 많은 녀석이던가?

아니면...뭔가를 가르키는 것을 말하는 것 같군요…


그렇죠?


가르키는 것~~


손가락 같은 것으로~~!!


이런 것~~~!!


음..컴퓨터에서 많이 보던것인데..

인것도 결국 뭔가를

가르킬때 사용하는 것 맞네요~~~!!



아니면

레이즈 포인터~~



컴퓨터 프로그램 C언어나 C++언어에서

포인터는 결국 메모리를 가르키는

녀석이지용~~


메모리 주소를 말이죠~~!!!


음...컴퓨터에서 메모리를 정말 중요하죠~

그렇죠?

당연하죠~!

ㅋㅋㅋ


메모리에는 0번부터 주소가 부여가 되고요..


내가 원하는 정보가 데이타가

어느 주소에 저장되어 있는지를 알려주는 거죠~~!!!


메모리 주소는 0번부터 시작한다…..


그리고………..

CPU라는 녀석의 메모리 주소역량에 따라…

결정되죵

다들 아시죠^^?


보통 32비트 CPU는 메모리 주소도 32비트

보통 64비트 CPU이면…..당연히 메모리 주소도 64비트


이 녀석은..32비트 CPU~~

이녀석의 스팩문서를 보면..

이런 문구가 있죠~~!



Address bus...32비츠( bits)라고 젹혀있죠~~

음….32비트 컴퓨터라는 말이죵….

물론 데이타 버스도 확인해  봐야 하죵…


암튼….


어드레스 버스….~~~!!!!


음..어르레스 버스가 32비트!!


32비트 ….어드레스 버스입니다.흐~~~


이런것은 아니죠?


흐흐흐

미안합니다.

음...엉뚱한 이야기나 하고 미안합니당~~!!


알면 됐어~~!



알면 됐어~!


자 64비트 CPU는 ???


음… AMD가 만든 32비트 호환 64비트 CPU~~!!

이 녀석은...어드레스 버스가 64비트죵~~!






64비트 어드레스 버스가 나가신다~~!!

비끼시용~~!!



음...암튼…


32비트 어드레스 버스이면…

보통 4Gbyte의 메모리를 접근 가능하고


64 비트이며…~~


너무 커서 말씀 드릴 수 가 없을 것 같군요…

기억이 나질 않았어…

알았었는데..


바로 검색하면...이렇게 나와용~~!

16엑사바이트~~




2의 64승~~이면…

64-bit는 2의 64승, 18446744073709551616BYTE, 18EB (1EB = 1000TB)



18446744073709551616BYTE

18EB (1EB = 1000TB)

18


https://technet.microsoft.com/ko-kr/library/cc700734(TechNet.10).aspx



바이트 크기

SI 접두어

전통적 용법

이진 접두어

기호(이름)

기호

기호(이름)

V값

kB (킬로바이트)

10001 = 103

KB

10241 = 210

KiB (키비바이트)

210

MB (메가바이트)

10002 = 106

MB

10242 = 220

MiB (메비바이트)

220

GB (기가바이트)

10003 = 109

GB

10243 = 230

GiB (기비바이트)

230

TB (테라바이트)

10004 = 1012

TB

10244 = 240

TiB (테비바이트)

240

PB (페타바이트)

10005 = 1015

PB

10245 = 250

PiB (페비바이트)

250

EB (엑사바이트)

10006 = 1018

EB

10246 = 260

EiB (엑스비바이트)

260

ZB (제타바이트)

10007 = 1021

ZB

10247 = 270

ZiB (제비바이트)

270

YB (요타바이트)

10008 = 1024

YB

10248 = 280

YiB (요비바이트)



엑사 바이트….

10의 18승~!!


TB를 지나.. PB(페타바이트)를 지나…

EB(엑사 바이트)가 나오는 군요…


이게 ...암튼. ..64비트로 표현할수 있는 메모리의 크기 라는 점…


암튼..이정도로 사용하기 불가능하다는 점…


거의 무한의 메모리 주소르 느껴진다는 점….


무한~~!!


명수 형님~~

10엑사바이트 입니당~~!!


음…..

자...이제… 쩜아이 파일을 더 구경해보자고요~~!!!!


이 놈안은 어떻게 생겨 먹었는지 말입니다.~~~



자… Preprocessr001.i

파일을 다시 보자고요~~!!

자..이렇게 시작을 합니다…

음..

음..파일들의 전체경로들이 나오는군요….


내가 만든 파일도 있고…

그렇지 않은 녀석들도 있고…


targetver.h라는

녀석은….

중요한 녀석이죠…


지금 내가 만들놈은….

어느 윈도우 버전에서 실행될 놈인지를 지정하는 것이죠~~

암튼…

자..계속...구경 갑시다요~~!!!


음..

음…

#pragma

프라그마…..

나오면서

어찌고 저찌고 하고 있습니다…


아..오늘도 여기까지…

멀리 못갔습니다..

흐..


자 오늘은…

쩜아이 파일 보고 끝냅시다…

흐..

시간이 없는 관계로..ㅋㅋ

오늘은 여기까지..~

너무 짧네요~~~

흐흐흐

할레룰야~~~

예수님 안에 거합시다~~

[문서버전]


0.0.1

20141104

전처리기가 뭐야?

0.0.2

20141105

오늘도 전처리기에 대해서 글을 쓴다..

언제 마무리 되는가?

0.0.3

20141106

음...오늘은…..전처리기 맛보기로...이번 글 정리하기...






컴파일러 아시죠~

컴파일러는 소스를 받으면…

바로 컴파일을 수행하는 것이 아니라

전처리단계를 수행한다.




그렇습니다. 위 그림에서 말해 주듯이…

전처리를 하고 난 놈을 가지고 컴파일러는 컴파일을 합니다.

그래서, 오브젝트 파일이라는 녀석을 만들죠~~!!

그러면, 컴파일러의 임무는 끝~!






자~ 비주얼 스튜디오로 전처리기가 만드는 소스를 확인할 수 있어요~~~!!!!

몰랐죠~~

아셨던 분도 계셨을 거지만………자~~확인해봐요~

~



비주얼 스튜디오를 통해서 확인 할 수 있는 방법을 그림으로 표현해본것 입니다.

어찌..맘에 드시는지요^^?ㅋㅋㅋ~~~







그렇습니다. 여러가지 옵션이 나타나는 순간..머리가 아파지기 시작하는군요….

이럴때 일수도 정신 차리고….한놈만..패면(?) 됩니다.

“파일로 전처리” 이놈만 먹으면 됩니다~~~~


“예(/P)”을 선택합니다. ‘/P’는 컴파일로 옵션입니다.

그렇습니다. 이 속성설정화면에서 설정하는 것들은 결국

컴파일로 또는 링커의 옵션인것들이 많습니다요~~!!!


이렇게 되면….

링크에서 에러가 나더라구요~~!!!


왜냐하고요?

“.i” 파일을 만들고 ...끝나더라고요~


“.i” 파일이 전처리기가 만들어준 파일입니다.


저는 이 “.i”(쩜 아이)파일을 컴파일러구 컴파일을 해 줄 수 있을 것 같았는데...그렇지는 않은것 같더군요…


“.i”(쩜 아이) 전치리기가 만든 파일을 컴파일하는 옵션이 있을 줄 알고 찾아보았지만...아직(있을 수도 있으니) 못 찾았습니다.


암튼….



음..


오늘은 여기까지!!!

내일 뵈요..저는 업무시작하기 전에 하는 것이라…

진도가 정말 느리게 나가네요~~!!

아므튼 그래도..계속 진행할 것이니….기대해주세요~~!




아이고..왜

파일 사이즈는…

64바이트인데…

왜~

읽은것은…

왜?

1바이트인거야?

뭐야??

미친것 아냐?

미친것 아니고…

_open을 잘 못한거야..

바보야..ㅋㅋ;;;

무식한놈.

이렇게 하면.. 일반 이진 파일 (텍스트파일이 아닌 녀석은...이렇게 읽는가 보네요)

저 옵션…

_O_BINARY 를 지정해야…

정상적으로 읽는다고!~!!

[참고]

http://msdn.microsoft.com/ko-kr/library/z0kc8e3z.aspx



+ Recent posts