cgo 也是一个 Go 语言自带的特殊工具.一般情况下,我们使用命令 go tool cgo 来运行它.这个工具可以使我们创建能够调用 C 语言代码的 Go 语言源码文件.这使得我们可以使用 Go 语言代码去封装一些 C 语言的代码库,并提供给 Go 语言代码或项目使用. 在执行 go tool cgo 命令的时候,我们需要加入作为目标的 Go 语言源码文件的路径.这个路径可以是绝对路径也可以是相对路径.但是,作者强烈建议在目标源码文件所属的代码包目录下执行 go tool cgo 命令并以目标
大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个执行程序间共享,节省了空间,提高了效率,具备很高的灵活性,得到越来越多程序员和用户的青睐.那么,在LINUX系统中有无这样的函数库呢? 答案是肯定的,LINUX的动态链接库不仅有,而且为数不少.在/lib目录下,就有许多以.so作后缀的文件,这