Re: interfacing with c - unification of pointers to structures

Daniel Diaz <[email protected]>
Newsgroups gmane.comp.gnu.prolog.general
Message-ID <[email protected]>
Hello,

since gprolog ints are not coded on signed 29 bits it is difficult to
ensure you can encode a pointeur as a Prolog integer. Some possible
solutions:

- encode an index (0-based displacement). If not possible, use an
array in C where you store the pointer then you pass the index inside
this array

- encode it as a Prolog float (C double).

- encode it as a Prolog structure of 2 integers (2 x 16 bits)

- encode it as an atom (only if there is a limited set of pointers
to handle).

Daniel

Tushar Parekh a écrit :

hello,

i have interfaced gnu prolog and c libraries.

i am able to handle input, output arguments of simple types like
string, integer.

i have a structure in c program e.g. BITMAP. i want to return a
pointer to this structure

i.e. BITMAP * back to gnu prolog from c function. how do i code this ?

i am working on 32 bit machine. so all pointers are 32 bits. i am
able to handle integer output

arguments by declaring int * on c function side and setting this to the
integer value and returing

PL_TRUE to enable binding to prolog argument. can i cast BITMAP * to
INTEGER * and send it

back to gnu prolog. the reason i need to store this pointer on prolog
side is to facilitate future calls

to c functions with this pointer supplied as an argument.

thank you in advance for any help.

regards,

tushar parekh.

----------
Ask a question on any topic and get answers from real
people. Go
to Yahoo! Answers.

--

Ce message a été vérifié par
MailScanner

pour des virus ou des polluriels et rien de

suspect n'a été trouvé.

----------

_______________________________________________
Users-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/users-prolog

_______________________________________________
Users-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/users-prolog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.