Lisp'den c veya C++ ile yazılmış bir kütüphaneden bir işlevi çağırabilir miyim? Lisp'i nasıl uzatabilirim? Bazı sistem çağrıları veya bunun gibi şeyler yapmak istediğinizde yararlıdır.lisp'yi C++ ile uzatabilir miyim?
cevap
Lisp olmayan lisp kodunu aramak nadirdir ve nadiren gereklidir. CLX (CL için X11 istemci uygulaması) Xlib uygulamasına bağlanmaz, ancak X11'i doğrudan "konuşur". Herhangi bir sistemde, CL uygulamanızın zaten gereksiz olan mükemmel işletim sistemi kancalarına sahip olması muhtemeldir. sözü
, cevap lisp uygulanmasına bağlıdır: aslında C altında bir CL ortamı barındırmak ve basitçe yürütmek için koduyla cl_eval()
çağırabilir
ECL yılında. Bu, uygulamanızı (veya uygulama ana bilgisayarını) C (veya C++) ve "çağrı yap" lisp koduna yazmanıza izin verebilir. Diğer çoğu CL uygulamalarda
(with-cstrs ((x "Hello World"))
(#_puts x))
(ve evet bu yanı ECL ve CCL çalışır SBCL gibi): CCL yılında
, böyle bir şey yapalım bir C-uyumlu çağrı arayüzü var Diğer kişilerin ne hakkında konuştuğunu C işlevlerini çağırmanızı sağlayan UFFI (veya CFFI) kullanabilirsiniz. Tüm yapmanız gereken buysa, CFFI başlamak için iyi ve güvenli bir yerdir.
uffi uzun süredir ... –
Birçok program hala cffi yerine uffi hedefliyor; Uffi hala daha fazla kullanılabilirliğe sahiptir. – geocar
Bugünlerde CFFI, ABCL ve CLISP gibi UFFI'dan daha fazla Lisps'i destekliyor. Ne demek istediğinden emin değilsin. –
CFFI görün!
- 1. Kapıları TFS 2010 Checkin'de otomatik olarak uzatabilir miyim?
- 2. Dockerfile başka birini uzatabilir mi?
- 3. C kitaplıklarını Python uygulamam ile paketlemeli miyim?
- 4. Stdin'e ikili koyabilir miyim? C#
- 5. Yöntem yerel değişkenleri C# yığın izleme ile alabilir miyim?
- 6. Eski Linux'u daha yeni gcc/clang ile hedefleyebilir miyim? C++
- 7. C# Request.Form değişkenlerini değiştirebilir miyim?
- 8. SQL Server sütun adı olarak ifadeyi seçmek için değişken uzatabilir
- 9. Corona'yu yerel kod ile genişletebilir miyim?
- 10. MSVCRT'yi statik olarak mingw ile bağlayabilir miyim?
- 11. Koleksiyon başlatıcılarını NameValueCollection ile kullanabilir miyim?
- 12. nHibernate'i monotouch ile kullanabilir miyim?
- 13. XESS ile LESS kullanabilir miyim?
- 14. BeginInvoke'u MulticastDelegate ile kullanabilir miyim?
- 15. LINQ2SQL'i ODBC ile kullanabilir miyim?
- 16. JSP'yi Angular2 ile kullanabilir miyim?
- 17. Uzun ile int dönüştürebilir miyim?
- 18. Derleyici kullanmadan clang ile bir C/C++ kodu XML AST dökümü alabilir miyim?
- 19. : bind() nesnesini C nesnesine yükseltebilir miyim?
- 20. C# temsilcisinin imzasını türüne göre alabilir miyim?
- 21. BlackBerry için C++ programları hazırlayabilir miyim (örnekler?)
- 22. C++ tipi adlarını constexpr biçiminde alabilir miyim?
- 23. Gizli Markov Modelleri C++ ile
- 24. GCC ile x86 montajının Intel sözdizimini kullanabilir miyim?
- 25. kullanıcı nesnesi ile C TreeNode içinde #
- 26. Telefon hafızası ile php kullanabilir miyim?
- 27. Komut dosyası etiketlerini BeautifulSoup ile silebilir miyim?
- 28. Kendi alanımı c9.io ile kullanabilir miyim?
- 29. AlarmManager'ı LocalBroadcastManager ile android üzerinde kullanabilir miyim?
- 30. Park freninin durumunu OBDII ile alabilir miyim?
Porsche'imi go-kart motoruyla genişletebilir miyim? :-) –