Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spreading world by encouragement of cgo
Search
linyows
October 17, 2017
Technology
0
240
Spreading world by encouragement of cgo
Oct 17, 2017 @fukuoka.go#9 でお話しした資料です
linyows
October 17, 2017
Tweet
Share
More Decks by linyows
See All by linyows
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
200
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
820
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
430
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
600
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
510
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
610
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
340
奥が深いメールのシステム / The depth of Email system
linyows
4
760
Other Decks in Technology
See All in Technology
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
4
840
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
390
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
聲の形にみるアクセシビリティ
tomokusaba
0
170
Claude Codeの進化と各機能の活かし方
oikon48
21
12k
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
180
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
550
クラウド × シリコンの Mashup - AWS チップ開発で広がる AI 基盤の選択肢
htokoyo
2
180
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
450
JAWS FESTA 2025でリリースしたほぼリアルタイム文字起こし/翻訳機能の構成について
naoki8408
1
290
Evolution of Claude Code & How to use features
oikon48
1
580
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Everyday Curiosity
cassininazir
0
160
Visualization
eitanlees
150
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Automating Front-end Workflow
addyosmani
1370
200k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
Accessibility Awareness
sabderemane
0
77
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Transcript
5PNPIJTB0EB(.01FQBCP *OD 0DU ͻΖ͕Δ(P $(0ͷ͢͢Ί GVLVPLBHP
GVLVPLBHP (.0ϖύϘϓϦϯγύϧΤϯδχΞ খాԝ!MJOZPXT ٕज़෦ٕज़ج൫νʔϜ IUUQUPNPIJTBPEBDPN
GVLVPLBHP ࠷͍ۙͬͯΔ͜ͱ ▸ /VYUKTͱ&YQSFTTͰ443αʔϏε ▸ 5ZQF4DSJQUͰOPEFNPEVMFOQNJOTUBMMHNPQH ▸ /44NPEVMFΞϓϦ0$501"44
GVLVPLBHP MJOVYϢʔβͷ໊લղܾΛHJUIVCͷνʔϜίϥϘϨʔλͰߦ͏
GVLVPLBHP 82 1MFBTFVTFBOEHJWFTUBS IUUQTHJUIVCDPNMJOZPXTPDUPQBTT
GVLVPLBHP લճͷ͓͞Β͍ʢGVLVPLBHP ▸ (PWͰQMVHJOQBDLBHF͕Ճ͞Εͨ ▸ CVJMENPEFQMVHJOʹΑͬͯTPϑΝΠϧΛ࡞ ▸ ຊମ͔Β%ZOBNJDBMMZ-PBEFE ▸ ͜Ε·ͰͷPWFS31$ͷ6/*9EPNBJOTPDLFUͰΔΑΓγϯϓ
ϧͰखܰ
$(0ͬͯ·͔͢ʁ GVLVPLBHP
GVLVPLBHP $(0ͬͯ͜͏͍͏ͷ ▸ (PWҎલ͔Β͋Δ ▸ $ͷίʔυΛΠϯϙʔτͨ͠Γ(PͷίʔυΛ$ʹΤΫεϙʔτͰ͖Δ ▸ CVJMENPEFDTIBSFEͰCVJME͢ΔͱIͱTPΛग़ྗ ▸ ֤ݴޠͷ''*ϥΠϒϥϦ͔Β(Pͷίʔυ͕͑Δ
GVLVPLBHP package main /* #cgo pkg-config: onigmo #include <stdlib.h> #include
<string.h> #include <onigmo.h> */ import "C" import "fmt" fun main() { fmt.Println(Version()) // Output: 6.1.3 } func Version() string { return C.GoString(C.onig_version()) } package main // typedef int (*intFunc) (); // // int bridge_int_func(intFunc f) { // return f(); // } // // int fortytwo() { // return 42; // } import "C" import "fmt" func main() { f := C.intFunc(C.fortytwo) fmt.Println(int(C.bridge_int_func(f))) // Output: 42 }
GVLVPLBHP Կ͕خ͍͔͠ ▸ ߴ͍ύϑΥʔϚϯεΛཁ͢Δ෦ΛҠৡͰ͖Δ ▸ ͷߴ͍NJEEMFXBSFΛΈࠐΊΔ ▸ $ͷख़࿅͕ͯ͘ൺֱత҆શͳΞϓϦέʔγϣϯ͕࡞ΕΔ ▸ ྫ͑PQFOTTM
GGNQFH QIQ NSVCZ
GVLVPLBHP ؾΛ͚ͭΔͱ͜Ζ ▸ (PϙΠϯλϝϞϦͷڞ༗ʹϧʔϧ͕͋Δ ▸ ϙΠϯλͷϧʔϧҧΛಈతʹνΣοΫ͍ͯͯ͠Ϋϥογϡ͢Δ ▸ (0%(DHPDIFDL $VJOUQUS ▸
ͪΖΜ$ଆ($͞Εͳ͍͠$GSFF͠ͳ͍ͱϝϞϦϦʔΫ͢Δ ▸ εϨουηʔϑͰͳ͍ͷ͔ͬ͠ΓTZODNVUFY͢Δ ▸ $(0ʹॻ͍ͨ$ผϑΝΠϧ͔Βࢀরग़དྷͳ͍
$ͷϥούʔΛ࡞Δͱ٢ GVLVPLBHP
҆શΛࣺͯڈΕ $ଆͰͳΜͰग़དྷΔ GVLVPLBHP
GVLVPLBHP ͦ͏͍͑ʜ7VF͕ϦϦʔε ▸ NBUUOHPW TPOZWFWBM MB[ZUJHFSHPWʜ ▸ WVFTFSWFSSFOEFSFS͕"MU+BWB4DSJQU3VOUJNFΛαϙʔτ ▸ (Pͷ8FCαʔόͰWόΠϯσ
ΟϯάΛ͑WVFͰ443 Ͱ͖ͦ͏ͩ &$."4DSJQUͷQVSFHP࣮͋Γ·͕͢
GVLVPLBHP ·ͱΊ ▸ ָͯ͠ʁʁ৴པੑߴ͍طଘࢿ࢈ιϑτΣΞ͕͑Δ ▸ $ͷεΩϧ͕ෆཁͰͳ͍ͷͰຊԻΛݴ͏ͱ(PͰ͍݁ͤͨ͞ ▸ ͱ͍͑ɺࣗ༝ͷେ͖͍બ͕Ͱ͖Δͱ͍͏ͷϝϦοτ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ GVLVPLBHP