Linux 동적 라 이브 러 리 함수 에 대한 상세 한 설명
1866 단어 Linux동적 라 이브 러 리
동적 라 이브 러 리 불 러 오기
void *dlopen(const char *filename, int flag);
flag 가능 값:동적 라 이브 러 리 의 최근 오 류 를 되 돌려 줍 니 다.
char *dlerror(void);
동적 라 이브 러 리 핸들 과 함수 이름 에 따라 함수 의 주 소 를 되 돌려 줍 니 다.
void *dlsym(void *handle, const char *symbol);
dlopen(NULL,동적 라 이브 러 리 닫 기
int dlclose(void *handle);
함수 주소 에 따라 함수 이름과 다른 정 보 를 되 돌려 줍 니 다.입력 주 소 를 함수 코드 공간 범위 내 에 두 면 됩 니 다.함수 의 시작 주소 가 필요 없습니다.
int dladdr(void *addr, Dl_info *info);
typedef struct {
const char *dli_fname;/* Filename of defining object */
void *dli_fbase; /* Load address of that object */
const char *dli_sname;/* Name of nearest lower symbol */
void *dli_saddr; /* Exact value of nearest symbol */
} Dl_info;
구조 함수 와 석조 함수(이 두 개 는 속성 이지 함수 가 아니다)
__attribute__((constructor))
__attribute__((destructor))
예 를 들 면:
__attribute__((constructor)) void before_main()
{
printf("before main/n");
}
__attribute__((destructor)) void after_main()
{
printf("after main/n");
}
궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.