chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] embedding doen't work


From: Andrey Fomichev
Subject: [Chicken-users] embedding doen't work
Date: Sat, 15 Oct 2005 16:49:46 +0400

Hello!
I'm trying to migrate my application from chicken 1.89 to 2.2.
I've found that C interface has changed (especially concerning
embedded scheme). In 1.89 I used CHICKEN_invoke to call Scheme
functions from C. Now I'm trying to use CHICKEN_initialize, 
CHICKEN_run, CHICKEN_eval_string_to_string. Unfortunately, my 
program crashes on call to CHICKEN_run.

============ main.cpp ========================================

#include <stdlib.h>
#include <stdio.h>
#include "chicken.h"

char str1[] = "(foo)";
char str2[100];

int f()
{
    int res = 0;
    res = CHICKEN_initialize(0, 0, 0, C_toplevel);
    printf("CHICKEN_initialize = %d\n", res);
    res = CHICKEN_run(NULL);
    printf("CHICKEN_run = %d\n", res);
    res = CHICKEN_eval_string_to_string(str1, str2, 100);
    printf("CHICKEN_eval_string_to_string = %d\n", res);

    if (res == 1) return 0; // Ok
    else return 1;
}


int main(int argc, char *argv[])
{
    if (f() != 0) 
    {
        printf("error\n");
        return 1;
    }

    printf("%s\n", str2);

    return 0;
}

=================================================================


============ entry.scm ==========================================

(define (foo)
   "Hello, world!!!")
=================================================================


command to build:
csc main.cpp entry.scm -embedded

The results of execution:
=================================================================
D:\foma\try\chichen-embed2>entry.exe
CHICKEN_initialize = 1
=================================================================

Is it a bug in Chicken or am I doing something wrong?

P.S. Platform is Windows 2000 Professional.

Best regards,
Andrey

=======================================
Andrey Fomichev (fomichev at ispras.ru)
Sedna Team (http://modis.ispras.ru)
=======================================





reply via email to

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