[Mono-list] P/Invoke on amd64 was :Marshalling problems

Michal Moskal Michal Moskal <michal.moskal@gmail.com>
Sun, 13 Feb 2005 16:22:04 +0100


On Sun, 13 Feb 2005 12:41:35 +0000, James Fitzsimons
<james.fitzsimons@gmail.com> wrote:
> Ok. I just tried this:
[...]
>   handle = dlopen ("libncurses.so", RTLD_LAZY);
[...]
> Opened libncurses successfully

Hmm, maybe through gmodule:

// compile with:
// gcc `pkg-config --libs --cflags gmodule-2.0` fo.c
#include <gmodule.h>

int main()
{
        GModule *mod;
        mod = g_module_open("libncurses", G_MODULE_BIND_LAZY);
        if (mod == NULL)
                printf("error: %s\n", g_module_error ());
        else
                printf("ok: %p\n", mod);
        return 0;
}

> I am following up on another theory as well to do with the version of
> gcc used to build mono. I will let you know if that makes any
> difference.

The ABI in gcc is rather stable especially when not using C++.

-- 
: Michal Moskal :: http://nemerle.org/~malekith/ :: GCS !tv h e>+++ b++
: You can't blame yourself for what gorillas did :: UL++++$ C++ E--- a?