[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Building C Libraries with chicken
From: |
Felix |
Subject: |
Re: [Chicken-users] Building C Libraries with chicken |
Date: |
Wed, 01 Sep 2010 07:34:30 -0400 (EDT) |
From: Christian Kellermann <address@hidden>
Subject: [Chicken-users] Building C Libraries with chicken
Date: Wed, 1 Sep 2010 10:55:30 +0200
> Dear chickenauts,
>
> I would like to build a library with chicken scheme that has functions
> that can be called from C. How do I write something like this?
>
---
;; one.scm
(define-external (yo_dawg) void
(print "Yo dawg."))
(return-to-host) ; CHICKEN_run runs the toplevel once
---
/* two.c */
#include <chicken.h>
extern void yo_dawg();
int main(int argc, char *argv[])
{
CHICKEN_run((void *)C_toplevel);
yo_dawg();
return 0;
}
---
Static:
csc -ec one.scm
ar cru libyodawg.a one.o
gcc two.c -L. -lyodawg -lchicken -o a.out # assuming chicken.h and
libchicken are installed
./a.out
Yo dawg.
---
Dynamic:
csc -es one.scm -o libyodawg.so
gcc two.c -o a.out -L. -lyodawg -lchicken # s.a.
LD_LIBRARY_PATH=$PWD ./a.out
Yo dawg.
cheers,
felix
- [Chicken-users] Building C Libraries with chicken, Christian Kellermann, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken,
Felix <=
- Re: [Chicken-users] Building C Libraries with chicken, Christian Kellermann, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken, Felix, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken, Christian Kellermann, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken, Felix, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken, Thomas Chust, 2010/09/01
- Re: [Chicken-users] Building C Libraries with chicken, Christian Kellermann, 2010/09/02