goinstall+文件夹名情况1:倘若文件夹里只有一个go文件。如果该文件是普通包文件,执行goinstall会在pkg文件夹里生成相应的.a文件;如果该文件是main文件,执行goinstall会在bin目录下生成相应的.exe文件。问题:为什么用goistall编译不同类型的文件会产生不同的结果情况2:倘若文件夹里有多个go文件,执行goinstall又是个什么情况。刚才试了一下,如果文件夹里有多个go文件,那么这几个go文件必须有相同的package才能编译通过。那么问题来了,编译成功后生成的文件夹名.a文件会包含所有go文件的编译结果吗?
2 回答
浮云间
TA贡献1829条经验 获得超4个赞
第一个问题:不是main文件,是如果有main包及main函数的时候,也就是有执行主入口的时候,go认为你当前要编译一个可执行文件,所以你会看到exe.反之则没有exe,a文件是编译产生的静态连接文件,比如一个项目下有一个main包,里面引用了一个第三方包,那第三方包会先被编译成a文件,然后链着这个a文件再去编译main包成为可执行文件。第二个文件:不清楚。。。
添加回答
举报
0/150
提交
取消