SWIG tutorial करना, और example.c का उपयोग करना, example.i जैसा कि उन्होंने वहां प्रदान किया था। मैंने swig -cffi example.i
के साथ lisp फ़ाइल जेनरेट की।सीएल और एसडब्ल्यूआईजी: उदाहरण उदाहरण?
लेकिन जब मैं एसबीसीएल के साथ test.lisp
चलाता हूं, तो मुझे example.lisp
संकलित करते समय अपरिभाषित विदेशी फ़ंक्शन के साथ-साथ शिकायतें भी मिलती हैं। मुझे पूरा यकीन है कि मुझे अभी भी अपनी example.c को लाइब्रेरी में संकलित करना है और फिर किसी भी तरह से इसे लोड करने के लिए एसबीसीएल को बताएं! लेकिन this को छोड़कर दस्तावेज़ इस पर बहुत कम हैं।
क्या कोई मुझे बता सकता है कि यह कैसे करें या सीजीआईजी से सी/सी ++ स्रोतों से सीएफएफआई बाइंडिंग स्वचालित रूप से उत्पन्न करने के लिए बेहतर तरीका है ??
SBCL उत्पादन:
...
;
; caught STYLE-WARNING:
; Undefined alien: "fact"
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
;
; caught STYLE-WARNING:
; Undefined alien: "my_mod"
...
test.lisp
;call C functions defined in example.c
(require :cffi)
;;;(require :example "example.lisp")
(load "example.lisp")
(fact 2)
(quit)
सुंदर। मुझे भी LD_LIBRARY_PATH सेट करना पड़ा ताकि मेरा libexample.so पाया जा सके। आप इसे अपने उत्तर में जोड़ना चाह सकते हैं। –