본문 바로가기

print

[JAVA] Reflection 을 이용한 변수명 출력하기 - 예제코드 예를 들면 public class Car { private String model; public String owner; public static final int FOO = 123; public static final int BAR = 456; 이런식으로 숫자값에 대한 정의만 난무한 class 가 있고, 이에 대해서 변수명을 출력할 일이 있다면 (주로 디버깅) 일일이 switch 문이나 if else 를 만드는 일은 곤욕스러운 일이다. 자바에서는아래와 같이 getDeclaredFields 함수를 이용해서 동적으로 123 의 값을 가지고 "FOO" 를 출력하는 일이 가능하다. onLine compile test : https://www.compilejava.net///********************.. 더보기
printf / printk 에서 %p 사용방법 %p : 주로 변수가 가지고 있는 주소값을 출력하는데 사용함. - 변수가 저장된 주소값을 출력해주는 것이 아니라, 변수가 저장하고 있는 주소값을 출력해줌- 16진수 address 로 출력해줌.- 앞에 0x 를 붙이지 않아도 알아서 출력해줌.- 주소값을 가지고 있는 void* , char* 등은 그대로 출력unsigned char* data;printf("data(%p)\n" data);- 배열은 앞에 '&'를 붙여야 함.printf("%s() psrc[d]=%p, psrc[t]=%p\n", __func__, &psrc[d], &psrc[t]); 추가하고 싶은 내용%x 와 %p 의 출력 차이점. 더보기
linux stand out 을 file 에 logging 하기 static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log"; redirect_stdio(TEMPORARY_LOG_FILE); static void redirect_stdio(const char* filename) { // If these fail, there's not really anywhere to complain... freopen(filename, "a", stdout); setbuf(stdout, NULL); freopen(filename, "a", stderr); setbuf(stderr, NULL);} 더보기
android 에서 eMMC 의 hw 이름 출력하는 방법 (nexus5) cat /sys/class/block/mmcblk0/device/name 더보기