본문 바로가기

포인터4

C에서 특정 주소로 점프하기 회사에 아는 선임분이 ARM 교육을 가셔서 부트 로더쪽 코딩으로 뭔가를 실습하는데, 잘 모르겠다고 메신저로 물어보시길 "C에서 특정 주소로 점프 하려면 우찌해야 하냐?" 참고로 부트로더의 역할을 내가 아는데로 간단하게 정리를 해보면 1. 뭔가를 한다 -_- (보통 시리얼 통신(rs-232,)을 통해 커널이미지를 정해진 주소에 다운로드 시키게 된다) 2. 특정 주소(커널 이미지의 시작점)로 점프를 한다. 3. 끝 -_- 역시 .. 내가 아는데로 정리하니 ... 간단하다 -_- . 다시 말해 모르는게 속편하다는 거 ㅋ 아무튼 질문을 받고 내가 처음에 바로 떠올린건 인라인 어셈블리였지만, '어셈은 안돼~' 라는 말에 함수포인터를 써보기로 하였다. 커널(커널함수)의 리턴이나 인자는 없다고 가정하였다. 쉽게 말해.. 2009. 7. 24.
오묘한 포인터와 배열의 세계 눈컴파일 및 실시간 두뇌 실행을 해봅시다. 거두절미 하고 아래의 소스는 과연 실행이 잘 될까? #include using namespace std; int main() { char str2[] = "abc"; str2[0] = 'A'; cout 2009. 5. 25.
종종 헷갈리는 포인터질 #include int test1(int* arg) { if(arg) return *arg; else return 0; } typedef int(*ptr)(int* arg); int main() { ptr p = test1; int a = 5; printf("%d\n",p(&a)); return 0; } 종종 헷갈리는 포인터질 -_-; typedef가 들어가니 더 헷갈린다 훗~ 2008. 10. 10.
과연 무엇일까? (*(void(*)())0)(); 2008. 3. 4.