mono-shlib-cop(1) General Commands Manual mono-shlib-cop(1)
>>> (NAME)
mono-shlib-cop - >>>>>>>>>>> >>>>
>>>>>>> >> >>>>>>>>>>>>
>>>>>
>>>>> >>>>> (SYNOPSIS)
mono-shlib-cop [OPTIONS]* [ASSEMBLY-FILE-NAME]*
>>>>>>>> (OPTIONS)
-p, --prefixes=PREFIX
>>>>>>>>> >>> Mono. >>>
>>>>> >>>> >>>> >>>>
$prefix/etc/mono/config >> >>> >>>>>>.
>>>>>>> >> >>>> >>>>
mscorlib.dll >>>>> >>>>>> >
>>>>>>> >>>> >>>.
>>>>>>> (DESCRIPTION)
mono-shlib-cop >>>>>> >>> >> >>
>>>>>> >>>>>>>>>> >> >>>>
>>>>> >>>>>>>>>>> >>>>>>
>> >>>>> >> >>>>>>>>>>>>
>>>>> >>>>> >>>>>>.
>>> >>>>> >> >> >>> >>>
>>>> >>>>>> >> >>>>>> >>>>
> >> >>>>>> >>>>>>>> >>
>>>>> >>>>>>.
>>>>>> >>>> >>>>> >>>>>>>
>>:
* >>> >>>>>>>> >>>>> >>>>
>>>>>
* >>> >>>> >>>>>>>> >>
>>>>>>>> >>>>> >>>>
>>>>>
>>>>>>>> >>>> >>>>>
>>>>>>> >>:
* >>> >>>>>>>> >>>>> >>>>
>> >>>>>>>> >>>>>>>>
>>>> (>>> >> >>>>>>>>>
>>>>>> >>>>> >>>> >> Mac OS X
>> Windows.)
>> >>> >>>> >>>
>>>>>>>>>>>> >>>>>>>>
>>>>> libc.so.6 >>> >>>>> >>>>>
>>>> >>>>>> > >>>> >>>>
>>>>>>>> libc.so >>>> >>
System.DllNotFoundException >>>>> >>. >>
>>>>>> >>>> >>> >>>>> >>>>
>>>>:
1. >> >>>>> >>>>>> >>> >>
>>>>>>>> -devel >> >>
>>>>>>>> >>>> >>>> >>
>>>>> >>>>>>> >>> >>>.
>>> >>> >>>>>>> >>>>>>
>>> >>> >> >>>>> >>>>>
>>>>> >>>> >>>>> >>> >>>
>> >>>>>> >>> >> >>>>>>
>>>>>>.
2. >>>>>>> >> >> >>> >>>>>>
>>>>>>>> >> >>>>>>> DllImport
>>>. >>> >>> >>>>>>
>>>>>> >> >>>> > >>>>>>>
>>>> >> >> >>> >>>> >>
>>> >>>> >>>> >>>>
>>>>>>> >> >>>>>>>>
>>>>> >>>.
3. >>>>> >> >>>> assembly.config >>
>>>> >>>>> >>>>
>>>>> >>>> >>> >>>>>>>>
>>>>>> >>>>>>>>>>>
>>>> >>>>>> >>> >>
>>>>>>>> >>>>>
>>>>>>>> >>>>>> >>>>>
>> >>>>> >>>>> >>>>. Mono
>>>>>> >>>>> >> >>>
>>>>>> >> >>>> >>>> libc.so >
libX11.so >>>>> >>>>>>.
>>>>>>> (EXAMPLES)
>> >>> >>>> >>>>>>>>> >>
>>>>> > >>>>>>>> >>> >>>:
using System.Runtime.InteropServices; // for DllImport
class Demo {
[DllImport ("bad-library-name")]
private static extern void BadLibraryName ();
[DllImport ("libc.so")]
private static extern void BadSymbolName ();
[DllImport ("libcap.so")]
private static extern int cap_clear (IntPtr cap_p);
}
>>> >>>>>>>> >>>>>>
>> >>> >>>>> >>>>>>>>
bad-library-name >>> >>>>> >>>
>>>> >>>>>> Demo.BadLibraryName >>
>>> >>>>> >>>>> >>>>
>>>> >> >> >>>>>>>>
>>>>> >>>> >>>> >>
>>>>>>>>> >>>>>>>> >>>.
>>> >>>> >>>> >>> >>>>
>>>>>>>> >>>>> >>>
>>>>> >>>>>> (BUGS) >>
>>>>>>.
>>> >>>> >>>>>>
Demo.BadSymbolName >> >>> >>>>>
>>>>> >>>> >>>> libc.so (>>
>>>> >>>> $prefix/etc/mono/config >>>>
>> libc.so.6 >>>>> >>>> >>>
>>>) >>>> >>>> BadSymbolName >>>>.
>>>>>>> >> >>>>>>>> >>>>
>>>>
>> >>> >>>>> >>>> libcap.so >>
>>>>>> Demo.cap_clear >> >>>>>
>>>>> >>>>> >>>> >>>>
>>>>> libcap.so >>>>>>>>
>>>>>>>> >>>> >>>> >>>
libcap.so >>> >>>>> >>>>> >>>>
>>>>>> >>>> (>> FC2> >>>>
/lib/libcap.so >>>> libcap-devel >>>>>
>>>>>>> > >>>
>>>>>>>>>> >>> >>>> >>
>>>>>>> >>>>> >>>>>>>>
-devel >> >>> >>>>>).
>>>>> >> (FIXING CODE)
>>> >>>> >> >>> >>>>> >>
>>> >>>>> >>>>:
>>>>>>> >>>>>>>> >>>>>>
>> >> >>> >>>>>>>> >>>>>
>> >>> DllImport >>>>>>> >>>>>
>> >> >>>>> >>>>
>>>>> >>> >>>>>>>>
>>>>> >>> >> >> >>>
>>>>>>>> >>>>> >>>>>
>>>>.
>>>>>>> >>>> >>>>>>
>> >>>>> >>>>> >>>> >>
>>>>>> >> >>>>>>>> >>>
>>>> >>>>.
>>>>>>> >> >>>>>>>> >>>>
>>>>
>> >>>>> >>>> >>>>>
>> >> >>>>>>>> >> >>>>>
>>>>>>>> >>> >>>>>
>>>>> >> >> >>>>>
>>>>>>> >>>> (>>> >>>>>
>>>>>> (BUGS) >> >>>>>>).
>>>>>>>>> DLLMAP (DLLMAP ENTRIES)
>>>> >>>> >> >>>>>>
>>>>>>>>>>>>> >> >>>>> >>
>>>> ASSEMBLY-NAME >>>>>>> > >>>
>>>> >> >>>> >>>>> >>>>>>>
>>>>> Dll >>>>>>>>. >>>>
>>>>> >>>> mcs.exe > >>>> >>>>
mcs.exe.config >> >>>>>>>>> > >>>>
Mono.Posix.dll > >>>> >>>> Mono.Posix.dll.config
>> >>>>>>>>.
>>>> .config >> >>> XML >>> >> >>>>
>> >>> >>> >>>>> >>
>>>>>>>>> >> >> >>> >>>
>> >>>> >>>>>>> dll > target
>>>>>>>. >>> dll >>>> >>>>
>>>> >>>>>>> >>>> >> >>
>>>>> >>> DllImport >>>>>>> >>>
>>>> > >>> target >>>> >>>>>>
>> >>>> >> >>>> >>>> >>>>>>
>>>> >>>>>>>> >>>>> >>
>>>> >>>>>>>> >>>.
>> >>>>> >>>> .config >>>>> >>>
>>:
>>>>> >>>>>> (BUGS)
* >>> >>>>>>>>> DllImport >>>>>
>>>>>>>> >>>>> IL
>>>>>>> >>>>>> >>>>>
>>>>>>>. >> >>>>>> >>>
>> >>>>> >> >>>> >>>>
>>>> >>>>>> >>> >> >>>>
>>>>>>>> >>>>>
>>>>>>>> >>> >>>>>
>>>>> >>> >>> >>>>>>>>
>>>>>>>> >>>> >>>>>>>
>>>> >> >>> >>>>> >>>>>
>>. >>> >> >> >> >>>
>>>>>>:
using System.Runtime.InteropServices; // for DllImport
class Beep {
[DllImport ("kernel32.dll")]
private static extern int Beep (int dwFreq, int dwDuration);
[DllImport ("libcurses.so")]
private static extern int beep ();
public static void Beep ()
{
if (System.IO.Path.DirectorySeparatorChar == '\\') {
Beep (750, 300);
}
else {
beep ();
}
}
}
>>> mono-shlib-cop >>> >>> >>>>>>
>>>> >>>> >>>>> >>>>
>>>>>>> >> kernel32.dll >>>>>
>>>>> >>> >>> >>> kernel32.dll
>>>> >> >>>>>>>>>>
>>>>>> >>>>>>> >>>>.
* >> >>> >>>> mono-shlib-cop >>>>
>>>>> >>>> >>>>>>>>
>>>>> >> >>>>> >>>>>> >>
>>>>> >>> >> >>> >>>>
>>>>>> >>>>> >>> >> >>>.
>> >>>>> .so >>>>> >>
>>>>> >>>>> >>>>>>> >>>
>>> .so >> >>>>> >>>>>>
>>>>>> >> >> >>>> -devel
>>>>> >>>> >>>>> > >>>
>>>>>>>> >>>>>
>>>>>>>>> >>>> >>>>>>
>>>> (>>>>>>>>> >>>>>
>>>> /usr/lib/libtcl8.4.so > /usr/lib/libubsec.so >
>>>>).
>> >>>>>> >>>>>>> >>>>
>>>> >>>>>>>>>>>>>
>>>>>>>>>> > >>>>>>
>>>>>.
>>>>>>>>> Windows > Mac OS X >>>>
>>>>>> >>>>> >>>>>>>>>
>>>> >>> >>>>>>>>> >>
>>>>>>>> >>>>>>> >>>>
>>>>>>>>>>>> >>>>>
>>>>>>> >>>>>>>.
>>>>>>>>> >>>> (MAILING LISTS)
>>>> >>>>>> >>>>> >>
http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>> >>>>.
>>>>>> (WEB SITE)
>>>> >>>>>> >>>>> >> http://www.mono-
project.com >>>>>> >>>>.
mono-shlib-cop(1)