커널 로그를 넣고있는데 답변좀 부탁드리겠습니다.
글쓴이: rpit1412 / 작성시간: 목, 2013/03/14 - 4:44오후
안녕하세요
안드로이드 커널 소스에 로그를 찍어보고있는데요
질문이 있어서 글 올립니다.
소스중에 변수가 선언된 형태가
__be32, __be16
__u32, __u8, u32, u8
__le16
이런 형태로 선언이 되어있는데요
이런애들은 각각 어떤 자료형으로 로그를 찍어야할까요?
그냥 일단 닥치는대로 찍고있는중이라서 %p로 다 찍고있는데 이게 맞는지 확신이 안서네요ㅠ 이것저것 값이 다 나오는지라..
도움 부탁드리겠습니다 ^^
지금 로그 찍고있는 부분은 라우팅테이블쪽입니다.. 초보라 그런지 구조체 안에 구조체 안에 구조체 뭐 이런거 나오면 진짜 따라가기 빡시네요 ㅠㅠ
Forums:
%p는 포인터 타입의 주소를 찍는
%p는 포인터 타입의 주소를 찍는 형식입니다.
printf같은 함수에 들어가는 형식 지정자는 어떤 자료형이 메모리에 얼만큼 사용하느냐에 따라 만들어진게 아닌
정수냐, 문자냐, 주소냐, 문자열이냐 이런식의 추상화된 형식을 지칭하고 있습니다.
하지만 내부 구현은 반드시 크기를 고려할수 밖에 없게되죠.
그래서 일반적으로 %d는 int를, %c는 문자를 지칭하게 됩니다.
어떻게 출력하고 싶으신지는 모르겠지만 그냥 int로 강제 형변환해서 %d또는 %x로 출력하시거나 unsigned로 출력하시면 될거 같네요.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기