동적로딩에 관해서...
글쓴이: vananamilk / 작성시간: 금, 2009/08/28 - 5:27오후
안녕하세요.
dlopen을 사용해서 동적로딩을 하면 그 모듈에 있는 모든 함수가 메모리에
로딩되는건가요? 필요한 함수만 메모리에 올라가는거 같은데...
그러니까 프로그램에서 다수의 모듈을 동적으로 로딩해서 모듈 내부의
함수를 실행시키는데요... 그걸 계속 주기적으로 반복하는거죠
실행 중간에 그 모듈을 수정해도 되는건가요? 프로그램에서 모듈을 감시해서
변경사항이 있으면 다시 모듈을 로딩하도록 할껀데요...
저렇게 해도 문제가 없는건가요? 간단하게 테스트 해보니까 문제가 없던데...
예전에 수정된 모듈을 오버라이트하니까 실행중인 프로그램이
세그먼트 오류를 내면서 다 죽어 버리더라구요... 5대 전부...
메모리에 전부 로딩되면 오류를 낼 이유가 없는데... 그냥 우연인지...
답변 부탁드립니다.
Forums:
그럴땐..
모듈을 수정하시기전에 dlclose() 하시고 다시 dlopen() 하시는게 안전하지 않을까요?
댓글 달기