Search code examples
gocgo

Is it possible to make go packages a .so or .a file?


Recently I have spent some time on cgo and how to write C codes in go. It seems very easy to load a .so file by using #cgo directives. However, are there any ways that we can do this in a opposite way? That is, can we build a go package to a .so or .a file so that it can be used by c/c++ projects directly?


Solution

  • The answer is Go code can't be dynamically loaded into C code yet.

    There is some activity on making this possible, but it isn't ready now.

    See the discussion at on the mailing list.