Maison > développement back-end > Golang > le corps du texte

Qu'est-ce qu'un fichier .a dans Golang

Libérer: 2019-12-16 15:44:58
original
5614 Les gens l'ont consulté

Qu'est-ce qu'un fichier .a dans Golang

.un fichier est généré pendant le processus de compilation. Chaque package générera un fichier .a correspondant Go détermine d'abord si le code source du package est If. il y a des changements, sinon le fichier .a ne sera pas recompilé, ce qui peut accélérer le processus.

Générer un fichier .a (le fichier .h sera également généré automatiquement)

Créer le fichier pkgqrcode.go

package mainimport "C"import (
    //"fmt"
    "github.com/tuotoo/qrcode"
    "os")//export GetQrcodeStringfunc GetQrcodeString(cstring *C.char) *C.char {
    //func GetQrcodeString() *C.char {
    path := C.GoString(cstring)
    //path := "qrcode.png"
    fi, err := os.Open(path)
    if err != nil {
        //fmt.Println(err.Error())
        return C.CString(path)
    }
    defer fi.Close()
    qrmatrix, err := qrcode.Decode(fi)
    if err != nil {
        //fmt.Println(err.Error())
        return C.CString(path)
    }
    //fmt.Println(qrmatrix.Content)
    //return C.Cstring(qrmatrix.Content)
    gostr := qrmatrix.Content
    cstr := C.CString(gostr)
    return cstr}func main() {}
Copier après la connexion

Le but de l'import" C" est lorsque vous utilisez la fonction C dans le code go

vous devez ajouter //export GetQrcodeString pour générer le fichier .h (je ne sais pas quoi !!)

C.GoString(cstring) Convertir une chaîne C en chaîne Go

C.CString(gostr) Convertir une chaîne Go en chaîne C

Étapes de compilation

Générer une commande de fichier .a (entrez le répertoire de code pkgqrcode.go ) Exécution :

go build -buildmode=c-archive -o pkgqrcode.a pkgqrcode.go
Copier après la connexion

Générer des résultats

pkgqrcode.a
pkgqrcode.h

Pour plus de connaissances sur Golang, veuillez faire attention à tutoriel golangColonne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal