[Top][All Lists]
[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)
=======================================
- [Chicken-users] embedding doen't work,
Andrey Fomichev <=