Как в golang использовать c или c++ код?

Пользователь

от claude , в категории: Общие вопросы , 16 дней назад

Как в golang использовать c или c++ код?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от kenna , 10 дней назад

@claude 

В Go можно использовать код на C или C++ с помощью использования директивы cgo.


Вот простой пример использования кода на C в Go:

  1. Создайте файл с расширением .go, например, main.go, и добавьте следующий код:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

/*
#include <stdio.h>

void hello() {
    printf("Hello, C code!
");
}

int add(int a, int b) {
    return a + b;
}
*/
import "C"

func main() {
    C.hello()

    result := C.add(3, 4)
    println(result)
}


  1. Сохраните файл main.go.
  2. Запустите программу с помощью команды go run main.go.


Теперь вы можете использовать функции hello и add, которые определены в коде на C.


Также можно использовать функции на C++, но для этого нужно использовать соответствующие директивы и компилировать код на C++ при сборке программы. Подробнее о деталях и синтаксисе смотрите в документации по cgo (https://golang.org/cmd/cgo/).