LT資料
(PͰ(FNΛ࡞͍ͬͯ·͢ʮ࠷ۙɺ(Pݴޠ࢝Ί·ͨ͠ʯͷձ!FOUB
View Slide
ࣗݾհ❐ɹԕ౻❐ɹגࣜձࣾϕʔγοΫʢ৽ଔ̍ʣ❐ɹؠख㱺౦ژ❐ɹ3VCZ%PDLFSLTɹ(P"OESPJE+4❐ɹ(Pྺɿϲ݄͙Β͍!FOUB!FOEPUBLVZB!FOUB
ຊ
(PͰ(FNΛ࡞͍ͬͯ·͢
ࣾʹͯ3BJMT͚ͩͰը૾ΛಈతϦαΠζ͍ͨ͠❐ύϥϝʔλʹαΠζΛ༩ͯ͠ಈతϦαΠζ❐ࣄલϦαΠζ6*ͷมߋʹऑ͍
ํ๏͍Ζ͍Ζ͋ΔΒ͍͠❐ɹOHJOYͷը૾ϦαΠζαʔό❐ɹ"LBNBJ❐ɹJNHJY❐ɹ*NBHF3FTJ[FSͱ͔ͱ͔ɻ
;ͱ͋Δ2JJUBͷهࣄΛࢥ͍ग़ͨ͠
3VCZ͔Β(PΛ͍͡ΕΔ❐ഒ͘ͳΔʁʂ❐''*ʢ'PSFJHO'VODUJPO*OUFSGBDFʣ❐ͳΜ͔ྑͦ͞͏ʢͦΜͳʹਂ͘ߟ͑ͣʣ
࡞ͬͯΈͨ❐JSFTɾը૾ॲཧʢ3FTJ[F $SPQ FUDʣɺ(Pͤɾ3VCZʢ(FNʣɺ(PͷؔΛݺͼग़͚ͩ͢ɾ%PXOMPBET͙Β͍ɾΩϟογϡରԠ
͓ੈʹͳͬͨύοέʔδ❐ϦαΠζɾHJUIVCDPNOGOUSFTJ[Fɾґଘύοέʔδͳ͠❐Γൈ͖ɾHJUIVCDPNPMJBNCDVUUFSɾґଘύοέʔδͳ͠
''*Ͱ(PΛ͏४උ3VCZ͔Β''*ͰಡΈࠐΉͨΊʹ4IBSFE0CKFDUԽpackage mainimport ("C")func main() {}//export testfunc test() *C.char {return C.CString("test!!!")}ᶃ$ΛಡΈࠐΉᶄ໊ؔΛࢦఆ
''*Ͱ(PΛ͏४උϏϧυ$ go build -buildmode=c-shared -o test.so main.go㱺 test.h test.so͋ͱɺUFTUTPΛ3VCZଆͰݺΜͰ͋͛Ε0,
తʹʁ3.BHJDL*SFTʢΩϟογϡͳ͠ʣ*SFTʢΩϟογϡ͋ΓʣNT NT NTɾYʢ,#ʣͷը૾ຕɾYʢʣʹϦαΠζɾ7JFXͰදࣔ͢Δ͚ͩ
ͪΐͬͱؾʹͳͬͯ·͢2%PDLFSͰڥΛ࡞Δ࣌ɺɹΞϓϦέʔγϣϯͷύεͬͯͲ͏ઃఆͯ͠·͔͢ʁ$ echo $GOPATH/goWORKDIR /go/src/ires# orWORKDIR /go/src/github.com/endotakuya/iresͷͱ͖ɺ
·ͱΊɾॏΊͳॲཧΛ(Pʹ͓ͤͯ͠ΈΔͷΞϦ͔ɾ4IBSFE0CKFDUº''*ͳͷͰɺ͍ΖΜͳݴޠʹରԠՄɾ$ͱ(PͰͷͷΓͱΓʢ$$4USJOHͱ͔ʣҙɾ(Pॻָ͍͍ͯͯ͠ʂʢ·ͩπϥ͞Λ͔ͬͯͳ͍͚ͩɾؾʹͳΔํͪ͜Β͔ΒɾIUUQTSVCZHFNTPSHHFNTJSFTɾIUUQTHJUIVCDPNFOEPUBLVZBJSFT
͋Γ͕ͱ͏͍͟͝·ͨ͠