Heim > Backend-Entwicklung > Golang > Was ist eine .a-Datei in Golang?

Was ist eine .a-Datei in Golang?

Freigeben: 2019-12-16 15:44:58
Original
5672 Leute haben es durchsucht

Was ist eine .a-Datei in Golang?

.a-Datei wird während des Kompilierungsprozesses generiert. Go ermittelt zunächst, ob der Quellcode des Pakets ist Wenn keine Änderungen vorliegen, wird die .a-Datei nicht neu kompiliert, was den Vorgang beschleunigen kann.

.a-Datei generieren (.h-Datei wird ebenfalls automatisch generiert)

Erstellen Sie die Datei 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() {}
Nach dem Login kopieren

Der Zweck des Imports " C" ist: Wenn Sie die C-Funktion im Go-Code verwenden

müssen Sie //export GetQrcodeString hinzufügen, um eine .h-Datei zu generieren (weiß nicht was!!)

C.GoString(cstring) C-String in go-String konvertieren

C.CString(gostr) Go-String in C-String konvertieren

Kompilierungsschritte

Einen Dateibefehl generieren (Codeverzeichnis pkgqrcode.go eingeben). ) Ausführung:

go build -buildmode=c-archive -o pkgqrcode.a pkgqrcode.go
Nach dem Login kopieren

Ergebnisse generieren

pkgqrcode.a
pkgqrcode.h

Für weitere Golang-Kenntnisse achten Sie bitte auf Golang-TutorialSpalte.

Das obige ist der detaillierte Inhalt vonWas ist eine .a-Datei in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage