users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why failed in process of Prolog call C call Prolog?


From: Sean Charles
Subject: Re: Why failed in process of Prolog call C call Prolog?
Date: Thu, 24 Jul 2014 07:13:53 +0100

Hi,

It would greatly help if you could attach *ALL* source code and the commands you are using to compile and link.

I have written C extensions that are called from Prolog and they work just fine so there must be something in your code that’s not right yet!

Show us your code and we will try to help!

Sean.



On 24 Jul 2014, at 03:26, Shuai Wang <address@hidden> wrote:

Hello gnu-prolog users,


On my 64bit x86 Linux,  I am trying to implement this process.
 
I have two source code, written in C and Prolog. 
In the Prolog code, I have two functions foo and foo1.

So basically inside Prolog function foo, it calls function foo1 through a C wrapper, then after function foo1 finished, it will return through wrapper back to foo

it is something like :

---------------------------------------------------
           Prolog                |         C 
---------------------------------------------------                                
         foo      ----- call ---- >  foo1_wrapper       normal             
         foo1    <-----call -----   foo1_wrapper       normal
         foo1   -------return---> foo1_wrapper       normal
         foo     <-----return----   foo1_wrapper       fail!


The problem is that, it can never return back to function foo after foo1_wrapper returns..

I have done several test(printf, write, valgrind and others...), and I am pretty sure that foo1 returns right value, and foo1_wrapper returns foo1's return value as well.

I am really confused right now, I should be able to look into the details, however, I just don't know which way to go...

Has anyone have certain problems like this...?


Best Regards,
Shuai
_______________________________________________
Users-prolog mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/users-prolog


reply via email to

[Prev in Thread] Current Thread [Next in Thread]