<참조> https://sanggi-jayg.tistory.com/entry/Python-에서-go-함수-사용-하는-방법
파이썬에서 Go 함수 호출하기
1. Go 코드 작성 (hello.go)
반드시 main 패키지로 지정
package main
import (
"C"
"fmt"
)
//export Hello
func Hello() {
fmt.Println("Hello, Python!")
}
func main() {
}
2. 빌드
go build -buildmode=c-shared -o go_library.so hello.go
그러면 아래 파일이 생김 (C 에서 공유 라이브러리로 호출 가능)
go_library.h go_library.so
헤더 파일(*.h)에는 아래 형 정의가 있음
typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
3. 파이썬 코드 작성 (main.py)
import ctypes
library = ctypes.cdll.LoadLibrary('./go_library.so')
hello = library.Hello
hello()
4. 파이썬 코드 실행
python3 main.py
[실행 결과]
Hello, Python!
[참고] CentOS에 Go 설치하기
사이트 방문하여 최신 버전 확인 (2023-10-30 현재: go1.21.3.linux-amd64.tar.gz)
https://golang.org/dl
다운로드
# cd /usr/local/src
# sudo curl -O https://dl.google.com/go/go1.21.3.linux-amd64.tar.gz
파일 압축 해제
# sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
버전 확인
# cd /usr/local/go/bin
# ./go version
go version go1.21.3 linux/amd64
'Python 활용' 카테고리의 다른 글
파이썬, IP 유효성 확인 (IPv4, IPv6) (0) | 2023.11.10 |
---|---|
파이썬, JSON Schema Validation (0) | 2023.11.05 |
파이썬, ctypes 이용한 C 프로그램 호출 (0) | 2023.10.29 |
파이썬, C 공유 라이브러리 이용 (0) | 2023.10.29 |
2023, 파이썬 유용한 라이브러리 (0) | 2023.10.25 |