Go et c

2929 mots 12 pages
Interactions C/C++ et Go

Auteurs : Yi Wang, Gustavo Niemeyer, Andrew Gerrand, adg, Xavier Méhaut

V1.0

Sommaire
Préambule .............................................................................................................................................. 3 Appel d’une DLL Windows à partir de Go (adg) ..................................................................................... 3 Bases de l’encapsulation du C en Go (Gustavo Niemeyer) ..................................................................... 4 La commande cgo (golang.org) ............................................................................................................. 6 C? Go? Cgo! (Andrew Gerrand) .............................................................................................................. 7 Callbacks avec cgo (Ostsol) .................................................................................................................. 10 Linker statiquement du code C++ avec du code en Go (YI Wang) ...................................................... 14 Plus de ressources concernant SWIG et GO ? .................................................................................. 16

Préambule
Go permet d’appeler du code C voire C++ , soit en chargeant une bibliothèque partagée (.so, .dll), soit en intégrant le code Go directement avec du C (cgo, swig).

Appel d’une DLL Windows à partir de Go (adg)
Un simple exemple d’appel de DLL windows en Go: package main import ( "syscall" "unsafe" "fmt" ) func abort(funcname string, err int) { panic(funcname + " failed: " + syscall.Errstr(err)) } var ( kernel32, _ = syscall.LoadLibrary("kernel32.dll") getModuleHandle, _ = syscall.GetProcAddress(kernel32, "GetModuleHandleW") user32, _ messageBox, _ "MessageBoxW") ) const ( MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_YESNOCANCEL MB_YESNO MB_RETRYCANCEL MB_CANCELTRYCONTINUE MB_ICONHAND MB_ICONQUESTION MB_ICONEXCLAMATION MB_ICONASTERISK MB_USERICON MB_ICONWARNING

en relation

  • Ca vous va
    648 mots | 3 pages
  • Vengo
    297 mots | 2 pages
  • Th al
    303 mots | 2 pages
  • Let it be
    381 mots | 2 pages
  • A venir
    1209 mots | 5 pages
  • Vae auxi
    366 mots | 2 pages
  • Gogo
    2740 mots | 11 pages
  • Chap 7 zola
    1225 mots | 5 pages
  • Goya
    529 mots | 3 pages
  • Ensuite
    448 mots | 2 pages
  • Dame au c
    499 mots | 2 pages
  • Giédré
    505 mots | 3 pages
  • Allez l'om
    876 mots | 4 pages
  • Take that
    538 mots | 3 pages
  • Ci et si
    15805 mots | 64 pages