2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
make在misc / cgo / life目錄中的32位Linux上運(yùn)行的輸出:
# gomake _obj/life.a
CGOPKGPATH= cgo -- life.go
touch _obj/_cgo_run
8g -o _go_.8 _obj/life.cgo1.go _obj/_cgo_gotypes.go
8c -FVw -I ${GOROOT}/pkg/linux_386 -I . -o "_cgo_defun.8" _obj/_cgo_defun.c
gcc -m32 -I . -g -fPIC -O2 -o _cgo_main.o -c _obj/_cgo_main.c
gcc -m32 -g -fPIC -O2 -o c-life.o -c c-life.c
gcc -m32 -I . -g -fPIC -O2 -o life.cgo2.o -c _obj/life.cgo2.c
gcc -m32 -I . -g -fPIC -O2 -o _cgo_export.o -c _obj/_cgo_export.c
gcc -m32 -g -fPIC -O2 -o _cgo1_.o _cgo_main.o c-life.o life.cgo2.o _cgo_export.o
cgo -dynimport _cgo1_.o >_obj/_cgo_import.c_ && mv -f _obj/_cgo_import.c_ _obj/_cgo_import.c
8c -FVw -I . -o "_cgo_import.8" _obj/_cgo_import.c
rm -f _obj/life.a
gopack grc _obj/life.a _go_.8 _cgo_defun.8 _cgo_import.8 c-life.o life.cgo2.o _cgo_export.o
該行將cgo -- life.go創(chuàng)建以下文件:
_obj/_cgo_.o
_obj/life.cgo1.go
_obj/life.cgo2.c
_obj/_cgo_gotypes.go
_obj/_cgo_defun.c
_obj/_cgo_main.c
_obj/_cgo_flags
_obj/_cgo_export.c
_cgo_export.h

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
“我使用自定義構(gòu)建工具來(lái)編譯go項(xiàng)目,并且需要一種在項(xiàng)目中使用cgo的方法。 ”
...而這種方法會(huì)導(dǎo)致問(wèn)題。使用Makefile的標(biāo)準(zhǔn)方式非常簡(jiǎn)單,容易,經(jīng)過(guò)證明,已記錄等。
我意識(shí)到我沒(méi)有(直接)回答您的問(wèn)題。相反,我的“答案”是:我強(qiáng)烈建議使用標(biāo)準(zhǔn)方式。不要通過(guò)選擇其他不受直接支持的選項(xiàng)來(lái)為自己制造問(wèn)題。
就是說(shuō),我想有一種避免Makefile的方法,對(duì)不起,我從來(lái)沒(méi)有去過(guò)那里。我通常很懶/沒(méi)有時(shí)間,所以我用最簡(jiǎn)單/最快的方式完成工作。您可能想嘗試相同的;-)
- 2 回答
- 0 關(guān)注
- 249 瀏覽
添加回答
舉報(bào)