반응형
이번에 과제하면서
내부 함수가 외부에 노출이 되지않게끔 만들어달라는 요구가 있었는데
공부하면서 두가지 방법을 알아냈다.
첫번째는 단순히 내부 함수를 선언해줬을때 static 을 추가 시켜주면 된다.
예제로 보자면 다음과 같다:
이렇게 단순히 static을 붙여줌으로서 더이상 노출이 되지않는다.
하지만 여기서 문제가 있는데
만일 처리하려는 내부함수가 다른 코드에서도 쓰일 경우에는 에러가 발생한다.
이럴때는 static으로 해결이 안되고
__attribute__ 을 써서 숨겨줘야한다. (이방법은 어떠한 방법으로 다시 볼 수 있다는데 어렵다고한다)
이런식으로 해결 할 수가 있다.
다음은 해결된 사진이다.
==>
PS.
해당 라이브러리에 들어있는 심볼들을 확인하기 위해서는
리눅스에 있는 nm명령어를 활용한다
명령어: nm -D [라이브러리 이름]
반응형
'TIL > 잡다한' 카테고리의 다른 글
[알고리즘]정렬 알고리즘 및 시간 복잡도 정리 (0) | 2018.02.26 |
---|---|
[컴퓨터구조]How does CPU execute program (0) | 2018.02.23 |
정적/동적 라이브러리 차이점 (0) | 2018.02.19 |
[ADT]Abstract Data Type (0) | 2018.02.19 |
[에러] angr설치시 libunicorn.so 파일 문제 (0) | 2018.01.24 |