Gehen Sie in die Sprache, um Teil 7 C in der Sprache GO zu sehen und sich daran zu erinnern

Lassen Sie uns C-Sprache in GO-Sprache schreiben.

Vorbereitung: Installieren Sie GCC.

cPrint.go


package main

// #include <stdio.h>
// #include <stdlib.h>
//
// static void cprint(char* s) {
//   printf("%s\n", s);
// }
import "C"
import "unsafe"

func main() {
	cs := C.CString("Hello World C")
	C.cprint(cs)
	C.free(unsafe.Pointer(cs))
}

//のコメント部分にC言語でコーディングします。

1 stdio.h printf 2 stdlib.h free Ich mache es bei.

>go run cprint.go
Hello World C

Übergeben Sie ein Array, um die Summe zu finden. (int *) Version

sum.go


package main

// int cal_sum(int *x,int n) {
// int sum=0;
//	for(int i=0;i<n;i++){
// 		sum+=x[i];
//  }
// return sum;
//}
import "C"
import "fmt"

func main() {
	x := []C.int{1, 2, 3, 4,5,6,7,8,9,10}
	a:=C.cal_sum((*C.int)(&x[0]),(C.int)(len(x)))
	fmt.Println("sigma x=",a)
}

>go run sum.go
sigma x= 55

Übergeben Sie ein Array, um die Summe zu finden. (float *) Version

sigma.go


package main

// float cal_sum(float *x,int n) {
// float sum=0.0;
//	for(int i=0;i<n;i++){
// 		sum+=x[i];
//  }
// return sum;
//}
import "C"
import "fmt"

func main() {
	x := []C.float{10.0, 20.0, 30.0, 40.0,50.0,60.0,70.0,80.0,90.0,100.0}
	a:=C.cal_sum((*C.float)(&x[0]),(C.int)(len(x)))
	fmt.Println("sigma x=",a)
}

Übergeben Sie die Sequenz und berechnen Sie den Durchschnitt. (float *) Version

avr.go


package main

// float cal_sum(float *x,int n) {
// float sum=0.0;
//	for(int i=0;i<n;i++){
// 		sum+=x[i];
//  }
// return sum/n;
//}
import "C"
import "fmt"

func main() {
	x := []C.float{10.0, 20.0, 30.0, 40.0,50.0,60.0,70.0,80.0,90.0,100.0}
	a:=C.cal_sum((*C.float)(&x[0]),(C.int)(len(x)))
	fmt.Println("avr a=",a)
}

>go run avr.go
avr a= 55

CGO ist ein sehr praktischer Mechanismus.

Recommended Posts

Gehen Sie in die Sprache, um Teil 7 C in der Sprache GO zu sehen und sich daran zu erinnern
Gehen Sie zur Sprache, um Teil 8 zu sehen und sich daran zu erinnern. Rufen Sie die GO-Sprache von Python aus auf
C-Sprache zum Anzeigen und Erinnern Teil 2 Rufen Sie die C-Sprache aus der Python-Zeichenfolge (Argument) auf
C-Sprache zum Sehen und Erinnern Teil 1 Rufen Sie die C-Sprache aus Python auf (Hallo Welt)
C-Sprache zum Anzeigen und Erinnern Teil 4 Rufen Sie die C-Sprache von Python (Argument) double auf
C-Sprache zum Anzeigen und Erinnern Teil 5 Rufen Sie die C-Sprache aus dem Python-Array (Argument) auf
C-Sprache zum Sehen und Erinnern Teil 3 Rufen Sie die C-Sprache aus Python auf (Argument) c = a + b
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
So steuern Sie Multiprozesse ausschließlich in C-Sprache
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Die Geschichte der Portierung von Code von C nach Go (und zur Sprachspezifikation)
Einbettung der Maschinensprache in die Sprache C.
Heap-Sortierung in C-Sprache
Hallo Welt in GO-Sprache
Erstellen und Verwenden von statischen / dynamischen Bibliotheken in C-Sprache
Lesen Sie json mit C # und konvertieren Sie es in den Wörterbuchtyp (erzwungen)
Objektorientiert in C-Sprache: "○ ✕ game" wurde überarbeitet und nach Python portiert
Einführung in die Socket-API in C Language 2nd Client Edition
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part1-
Einführung in die Socket-API in C-Sprache 3. TCP-Server / Client Nr. 1
Versuchen Sie, Yuma in der Sprache Go zu implementieren
Modultest mit mehreren Instanzen in C-Sprache
Funktionszeiger und objdump ~ C language ~
Realisieren Sie die Schnittstellenklasse in der Sprache C.
Einführung in Protobuf-c (C-Sprache ⇔ Python)
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part2-
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part4-
So verpacken Sie C in Python
Überlegen Sie ernsthaft, welche Sprache in der Programmierausbildung und in der Programmierausbildung verwendet werden soll.
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part3-
Schreiben Sie einen Test in GO-Sprache + Gin
Segfo mit 16 Zeichen in C-Sprache
Einführung in die in C-Sprache gelernte Socket-API 4. UDP Server / Client Edition Nr. 1
Machen Sie etwas objektorientiertes in der GO-Sprache
[C-Sprache] Ich möchte Zufallszahlen im angegebenen Bereich generieren
Linkliste (list_head / queue) in C-Sprache
Implementieren und verstehen Sie den Union-Find-Baum in Go
Implementieren Sie einen Teil des Prozesses in C ++
Verwendung von Google Test in C-Sprache
Mit Devisen gewinnen Teil 4 ~ LINE Notification Edition
Schreiben Sie die O_SYNC-Datei in C und Python
Socket-Kommunikation in C-Sprache und Python
Generieren Sie mit Python eine C-Sprache aus dem S-Ausdruck
Verwendung ist und == in Python
[Golang] Über Go-Sprache Produzent und Konsument
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 1).
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 3).
Versuchen Sie, das Programm "FORTRAN77 Numerical Computing Programming" auf C und Python zu portieren (Teil 2).
Ich habe ein Modul in C-Sprache erstellt, das von Python geladene Bilder filtert
Tool zum Einfügen des Ländernamens und des Ländercodes in einen Teil der IP-Adresse
Verwendung der C-Bibliothek in Python
Java-Programmierer berührt Go-Sprache (Java-Vererbung in Go-Sprache implementieren)
Implementieren Sie die Wiederholung und Erkundung von Gedenkstätten in Python und Go
Schreiben von Protokollen in eine CSV-Datei (Python, C-Sprache)
Senden Sie eine Nachricht an Skype und Chatwork in Python
Richten Sie einen UDP-Server in der Sprache C ein