TIL/잡다한
2018. 2. 22.
[심볼제거관련] __attribute__ hidden 옵션
이번에 과제하면서내부 함수가 외부에 노출이 되지않게끔 만들어달라는 요구가 있었는데 공부하면서 두가지 방법을 알아냈다. 첫번째는 단순히 내부 함수를 선언해줬을때 static 을 추가 시켜주면 된다.예제로 보자면 다음과 같다:이렇게 단순히 static을 붙여줌으로서 더이상 노출이 되지않는다. 하지만 여기서 문제가 있는데만일 처리하려는 내부함수가 다른 코드에서도 쓰일 경우에는 에러가 발생한다. 이럴때는 static으로 해결이 안되고__attribute__ 을 써서 숨겨줘야한다. (이방법은 어떠한 방법으로 다시 볼 수 있다는데 어렵다고한다) 이런식으로 해결 할 수가 있다. 다음은 해결된 사진이다. ==> PS.해당 라이브러리에 들어있는 심볼들을 확인하기 위해서는리눅스에 있는 nm명령어를 활용한다 명령어: nm ..