GoGPT Best VPN GoSearch

OnWorks 网站图标

mono-shlib-cop - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 mono-shlib-cop

这是命令 mono-shlib-cop 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


mono-shlib-cop - 共享库使用检查器

概要


单shlib警察 [选项]* [汇编-文件-名称]*

配置


-p, --prefixes=前缀
Mono 安装前缀。 这是为了找到 $prefix/etc/mono/config。 默认的
基于 mscorlib.dll 的位置,通常是正确的。

商品描述


单shlib警察 是一种检查托管程序集以查找错误或
共享库的可疑使用。

该工具采用一个或多个程序集文件名,并检查指定的每个程序集。

检查的错误包括:

* 共享库是否存在?

* 请求的符号是否存在于共享库中?

检查的警告包括:

* 目标共享库是版本库吗? (仅在 Unix 系统上相关,
不是 Mac OS X 或 Windows。)

通常,只有版本化的库,例如 libc.so.6 存在于用户的机器上,
和努力加载 库文件 会导致 System.DllNotFoundException。 有三种
对此的解决方案:

1. 要求用户安装任何 -开发 提供无版本控制的软件包
图书馆。 这通常需要用户安装大量的附加
包,使安装过程复杂化。

2. 在您的文件中使用完全版本化的名称 导入 声明。 这需要编辑
您的源代码并在您需要针对不同版本的
共享库。

3. 提供一个 程序集.config 包含的文件重新映射的元素
程序集使用的共享库名称到实际版本化共享库
出现在用户系统上。 Mono 提供了许多预先存在的
条目,包括用于 库文件libX11.so。


以下代码包含上述错误和警告的示例:
使用 System.Runtime.InteropServices; // 对于 DllImport
类演示{
[DllImport ("bad-library-name")]
private static extern void BadLibraryName();

[DllImport ("libc.so")]
private static extern void BadSymbolName();

[DllImport ("libcap.so")]
私有静态外部 int cap_clear (IntPtr cap_p);
}

库名错误
假设图书馆 坏库名 你的机器上不存在,
Demo.BadLibraryName 将产生一个错误,因为它需要一个共享库
无法加载。 这可能是可以忽略的; 看 BUGS

错误的符号名称
Demo.BadSymbolName 会产生一个错误,因为 库文件 (重新映射到 libc.so.6 by
单声道 $前缀/etc/mono/config 文件)不包含该功能 坏符号名称

无版本库依赖
假设你有文件 libcap.so , 演示.cap_clear 会产生警告
因为,同时 libcap.so 可以加载, libcap.so 用户可能不存在
机器(在 FC2 上, /lib/libcap.so 由设 libcap-开发 ,你不能假设
最终用户将有任何 -开发 安装包)。

定影 守则


修复取决于警告或错误:

错误的库名称
使用有效的库名 导入 属性,或提供入口
将您现有的库名称映射到有效的库名称。

错误的符号名称
引用目标库中实际存在的符号。

无版本库依赖
提供一个引用正确版本库的条目,或忽略
警告(见 BUGS ).

动态地图 参赛作品


Mono 寻找一个 组件名称 映射信息。 例如,与 执行程序 , 单核细胞增多症
会读 mcs.exe.config文件 ,和 Mono.Posix.dll , Mono 会读 Mono.Posix.dll.config

这个 的.config 文件是一个包含顶级的 XML 文档部分与
嵌套条目,其中包含 dll文件目标 属性。 dll 属性
应该包含在您的 导入 属性值和目标
属性指定哪个共享库单声道应该 在运行时加载。

示例 .config 文件是:




使用 onworks.net 服务在线使用 mono-shlib-cop


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。