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