Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
programmirovanie:golang:dll [2024-07-16 07:42:01] userprogrammirovanie:golang:dll [2024-07-16 07:47:14] (текущий) user
Строка 62: Строка 62:
 Эти шаги помогут вам создать и использовать динамическую библиотеку на Go. Эти шаги помогут вам создать и использовать динамическую библиотеку на Go.
  
 +===== 4. Создание Go-кода для использования библиотеки: =====
  
 +Теперь создадим Go-код, который будет использовать эту библиотеку. Создайте файл `main.go`:
 +
 +<code go>
 +package main
 +
 +/*
 +#cgo LDFLAGS: -L. -lmylib
 +#include "mylib.h"
 +*/
 +import "C"
 +
 +func main() {
 +     C.Hello()
 +}
 +</code>
 +
 +В этом примере:
 +- Директива `#cgo LDFLAGS: -L. -lmylib` указывает компилятору Go, где искать библиотеку (`-L.` указывает текущую директорию) и имя библиотеки (`-lmylib` указывает на `libmylib.so`).
 +- `#include "mylib.h"` включает заголовочный файл библиотеки.
 +
 +===== 5. Создание заголовочного файла: =====
 +
 +Создайте заголовочный файл `mylib.h` для вашей библиотеки:
 +
 +<code c>
 +// mylib.h
 +void Hello();
 +</code>
 +
 +===== 6. Компиляция и запуск Go-кода: =====
 +
 +Убедитесь, что файл `libmylib.so` находится в той же директории, что и ваш Go-код. Затем скомпилируйте и запустите Go-код:
 +
 +<code sh>
 +go run main.go
 +</code>
 +
 +Вы должны увидеть вывод `Hello from C library!`.
 +
 +Эти шаги помогут вам подключить и использовать разделяемую библиотеку в программе на Go. Убедитесь, что все необходимые файлы (библиотека и заголовочный файл) находятся в правильных местах и доступны для компилятора.