go version go1.8 linux/amd64
์๋ฅผ ๋ค๋ฉด
package main
var V int
go build -buildmode=plugin -v test/main.go
lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
command-line-arguments
lion@Lion-Laptop [ test ] $
lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
runtime/internal/sys
runtime/internal/atomic
runtime
runtime/cgo
command-line-arguments
lion@Lion-Laptop [ test ] $
-a
๋ก ๊ฑด๋ฌผ๊ณผ ๋์ผ
๋ชจ๋ ํจํค์ง๋ ๋์ ์ฐ๊ฒฐ์ ์ํด ๊ตฌ์ฑ๋ ๋๊ตฌ ๋ชจ์์ผ๋ก ๋ค์ ๋น๋ํด์ผํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก go build
๋ ์ค๊ฐ ํจํค์ง ๋น๋๋ฅผ ์บ์ํ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋๋ cmd / go์ ๋ํ ์์
์ด ๊ทธ๊ฒ์ ๋ฐ๊ฟ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ ์ฌ๋ผ์ง ๊ฒ์ด๋ค.
๊ทธ๋๊น์ง๋ ์ค๊ฐ ํจํค์ง ๋น๋๋ฅผ ์บ์ํ๊ธฐ ์ํด ํ๋ฌ๊ทธ์ธ์ ๋น๋ ํ ๋ -i
์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด๋ ์ฒ์์๋ง ๋ฐ์ํฉ๋๋ค.
$ go build -buildmode=plugin -i -v plugin1
runtime/internal/sys
runtime/internal/atomic
runtime
common
internal/cpu
errors
unicode/utf8
sync/atomic
unicode
internal/race
math
sync
syscall
strconv
reflect
runtime/cgo
plugin1
$ go build -buildmode=plugin -i -v plugin1
plugin1
$
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ชจ๋ ํจํค์ง๋ ๋์ ์ฐ๊ฒฐ์ ์ํด ๊ตฌ์ฑ๋ ๋๊ตฌ ๋ชจ์์ผ๋ก ๋ค์ ๋น๋ํด์ผํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก
go build
๋ ์ค๊ฐ ํจํค์ง ๋น๋๋ฅผ ์บ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ cmd / go์ ๋ํ ์์ ์ด ๊ทธ๊ฒ์ ๋ฐ๊ฟ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ ์ฌ๋ผ์ง ๊ฒ์ด๋ค.๊ทธ๋๊น์ง๋ ์ค๊ฐ ํจํค์ง ๋น๋๋ฅผ ์บ์ํ๊ธฐ ์ํด ํ๋ฌ๊ทธ์ธ์ ๋น๋ ํ ๋
-i
์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด๋ ์ฒ์์๋ง ๋ฐ์ํฉ๋๋ค.