【发布时间】:2017-08-04 01:29:56
【问题描述】:
我试图弄清楚水晶中的 c 绑定是如何工作的。对于初学者,我想知道如何将一个简单的 hello world c 函数包含到水晶中。从基础开始总是好的,对吗?这是我想要包含的功能:
#include <stdio.h>
void hello(const char * name){
printf("Hello %s!\n", name);
}
【问题讨论】:
-
从长远来看,您将实现一个动态链接库,例如
libawesome.so(这在 C 方面很复杂),然后您可以像通常的示例一样使用它:@[Link("awesome")]。 -
@OlehPrypin 感谢您的评论。我实际上只是在调查那个。非常感谢。
-
@Jake 我最近创建了一个小演示,展示了如何完成此操作:github.com/ethagnawl/crystal-c-interop-demo 希望它具有启发性!
-
@pdoherty926,谢谢,我今天向一些人展示了它,他们很感激。好工作。非常感谢大家。
-
@pdoherty926 不错。您的解决方案与我的非常接近。像我使用的那样使用 .a 而不是 .o 有什么优势? .so 看起来很标准,但对于一个简单的 1 函数库来说可能有点矫枉过正。
标签: crystal-lang static-binding