pybid 11 로 C++실 현 된 함수 라 이브 러 리 를 봉인 하 는 방법 예시
                                            
 3236 단어  pybind11C++함수 라 이브 러 리
                    
실현 절차
 
 코드 구현
1.C++함수 로 함수 기능 구현
//   :add.cpp
extern "C" double add(double in1, double in2) 
{ 
 return in1 + in2; 
}
//   :sub.cpp
extern "C" double sub(double in1, double in2) 
{ 
 return in1 - in2; 
}
//   :mul.cpp
extern "C" double mul(double in1, double in2) 
{ 
 return in1 * in2; 
}
//   :div.cpp
extern "C" double div1(double in1, double in2) 
{ 
 return in1 / in2; 
}
//   :functions.h
#ifndef FUNCTIONS_H 
#define FUNCTIONS_H 
 
#include <iostream> 
 
using namespace std; 
 
extern "C" double add(double, double); 
extern "C" double sub(double, double); 
extern "C" double mul(double, double); 
extern "C" double div1(double, double); 
 
#endif
//   :functions_wrapper.cpp
#include <pybind11/pybind11.h> 
#include "functions.h" 
 
namespace py = pybind11; 
 
PYBIND11_MODULE(functions, m){ 
 m.doc() = "Simple Class"; 
 m.def("add", &add); 
 m.def("sub", &sub); 
 m.def("mul", &mul); 
 m.def("div", &div1); 
}
#   :setup.py
from setuptools import setup, Extension 
 
functions_module = Extension( 
 name = 'functions', 
 sources = ['add.cpp', 'sub.cpp', 'mul.cpp', 'div.cpp', 'functions_wrapper.cpp'], 
 include_dirs = [r'D:\software\pybind11-master\include', 
     r'D:\software\Anaconda\include'] 
) 
 
setup(ext_modules = [functions_module])명령 행 에서 실행 합 니 다
python setup.py build_ext --inplace현재 경로 에서 pyd 동적 라 이브 러 리 를 생 성 합 니 다. 
  
 6.테스트 함수 기능
#   :test.py
import functions 
 
print(functions.add(0.9, 3)) 
print(functions.sub(0.9, 3)) 
print(functions.mul(0.9, 3)) 
print(functions.div(0.9, 3))3.9
-2.1
2.7
0.3
이 글 은 pybid 11 로 C++실 현 된 함수 라 이브 러 리 를 봉인 하 는 방법 에 관 한 글 입 니 다.더 많은 관련 pybid 11 패키지 C+실 현 된 함수 라 이브 러 리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
pybid 11 윈도 에서 의 사용 강좌Pybid 11 은 현재 가장 편리 한 Python 에서 C++를 호출 하 는 도구 입 니 다.vs 2019 에 Python 의 확장 을 쓰 는 HelloWorld 를 소개 합 니 다. 2.1 출력 형식 을 dll ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.