본문 바로가기
반응형

[Public] 프로그래밍15

인라인 함수(Inline Function) <C++ #1> 인라인 함수에 대해서 알아보장 책에서는 인라인 함수를 다음과 같이 정의하고 있다. 다음 같이 인라인 함수를 선언 하면 #include using namespace std; inline void Func() { cout 2010. 1. 25.
ESP 와 EBP 함수를 호출 할때 어셈블리언어를 보면 함수의 크기보다 4 + 4 바이트가 더 붙는 것을 알 수 있다. 어셈으로 접근해보면 그게 무엇인지 알수가 있다. EBP에 대하여 알아 보자 ESP (Extended Stack Pointer) - 현재 스택의 가장 위에 들어있는 데이터를 가리키고 있는 포인터 - Intel CPU에서는 스택이 거꾸로(리틀엔디언) 자라므로 데이터가 하나 PUSH 될때마다 ESP 값은 감소 - ESP는 다음 번 DATA를 Push 할 위치가 아니라 다음에 POP 했을 때 뽑아낼 데이터의 위치를 가리 킴 EBP (Extended Base Pointer) - 현재 스택에 가장 바닥을 가리키는 포인터 - 새로운 함수가 호출될 때마다 EBP 레지스터 값이 지금까지 사용했던 스택 꼭대기의 위에 위치.. 2010. 1. 25.
[C] getch 함수에서 화살표나 F1 키등등 표현 2009. 10. 12 (月) getch() 함수를 사용하면 키보드의 키값을 아스키 코드로 받을 수 있다. 그런데 화살표나 F1 키를 눌려 보장......... 절망이다.. 2개가 출력된다 F1 키 같은 경우는 0 + @ 화살표 같은 경우는 224 + @ 여기서 앞에 나오는 키는 특수 키인것이다. 보통 스캔코드 (확장키 코드)를 말하는데 이것은 2바이트로 하나는 스캔코드 하나는 아스키 코드이다. 진정 특수 키를 얻기를 원한다면..... 먼저 getch 함수로 받은 키를 224와 0인지를 구별해라 구별한다음 맞다면 다시 한번 getch 함수를 이용하여 아스키 값을 받고 그 값이 무엇인지 판별하면 된다. 한마디로 특수키가 아닌건 getch 한번 쓰고 특수키는 getch 두번 써라 getch 함수 정보는 Wi.. 2009. 10. 12.
반응형