|
From: | Shuai Wang |
Subject: | Re: Why failed in process of Prolog call C call Prolog? |
Date: | Thu, 24 Jul 2014 09:37:30 -0400 |
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 fooit is something like :---------------------------------------------------Prolog | C---------------------------------------------------foo ----- call ---- > foo1_wrapper normalfoo1 <-----call ----- foo1_wrapper normalfoo1 -------return---> foo1_wrapper normalfoo <-----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
test_c.c
Description: Text Data
test_pl.pl
Description: Text Data
ssa_c.cil.c
Description: Text Data
Makefile.bak
Description: Binary data
[Prev in Thread] | Current Thread | [Next in Thread] |