⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlopen.sh

📁 samba服务器!
💻 SH
字号:
#!/bin/sh## Copyright (C) Nalin Dahyabhai <nalin@redhat.com> 2003## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.tempdir=`mktemp -d /tmp/dlopenXXXXXX`test -n "$tempdir" || exit 1cat >> $tempdir/dlopen.c << _EOF#include <dlfcn.h>#include <stdio.h>#include <limits.h>#include <sys/stat.h>/* Simple program to see if dlopen() would succeed. */int main(int argc, char **argv){	int i;	struct stat st;	char buf[PATH_MAX];	for (i = 1; i < argc; i++) {		if (dlopen(argv[i], RTLD_NOW)) {			fprintf(stdout, "dlopen() of \"%s\" succeeded.\n",				argv[i]);		} else {			snprintf(buf, sizeof(buf), "./%s", argv[i]);			if ((stat(buf, &st) == 0) && dlopen(buf, RTLD_NOW)) {				fprintf(stdout, "dlopen() of \"./%s\" "					"succeeded.\n", argv[i]);			} else {				fprintf(stdout, "dlopen() of \"%s\" failed: "					"%s\n", argv[i], dlerror());				return 1;			}		}	}	return 0;}_EOFfor arg in $@ ; do	case "$arg" in	"")		;;	-I*|-D*|-f*|-m*|-g*|-O*|-W*)		cflags="$cflags $arg"		;;	-l*|-L*)		ldflags="$ldflags $arg"		;;	/*)		modules="$modules $arg"		;;	*)		modules="$modules $arg"		;;	esacdone${CC:-gcc} $RPM_OPT_FLAGS $CFLAGS -o $tempdir/dlopen $cflags $tempdir/dlopen.c $ldflags -ldlretval=0for module in $modules ; do	case "$module" in	"")		;;	/*)		$tempdir/dlopen "$module"		retval=$?		;;	*)		$tempdir/dlopen ./"$module"		retval=$?		;;	esacdonerm -f $tempdir/dlopen $tempdir/dlopen.crmdir $tempdirexit $retval

⌨️ 快捷键说明

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