dladdr.c

来自「qt-x11-opensource-src-4.1.4.tar.gz源码」· C语言 代码 · 共 29 行

C
29
字号
#define __BSD_VISIBLE 1#include "dlfcn.h"#include <stdlib.h>#include <stdio.h>#include <mach-o/dyld.h>int main(int argc, const char* argv[]){	int retCode = 0;	const char * syms[] = {"_printf","_dlopen","_main",0};	int i=0;	struct dl_info info;	NSSymbol syml;	void* addr;	while (syms[i]) {		syml = NSLookupAndBindSymbol(syms[i]);		if (syml)		{			addr = NSAddressOfSymbol(syml);			dladdr(addr,&info);			fprintf(stdout,"Symbol: %s\nNSSym: %x\nAddress: %x\nFName: %s\nBase: %x\nSymbol: %s\nAddress: %x\n\n\n",				syms[i],syml,addr,info.dli_fname,info.dli_fbase,info.dli_sname,info.dli_saddr);			if (addr != info.dli_saddr) retCode++;			if (strcmp(syms[i],info.dli_sname)) retCode++;		}		i++;	}	return retCode;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?