greetings
package main
import "C"
//export greetings
func greetings() *C.char {
return C.CString("Hello, World!")
}
func main() {}
go build -buildmode=c-shared -o greetings.so greetings.gogreetings.sodlopendlsym
以下是使用C语言代码调用该库的示例:
#include <stdio.h>
#include <dlfcn.h>
typedef char* (*greetingsFn)();
int main() {
void* lib = dlopen("greetings.so", RTLD_LAZY);
greetingsFn greetings = (greetingsFn) dlsym(lib, "greetings");
printf("%s\n", greetings());
dlclose(lib);
return 0;
}