<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一個pybind11的例子

      在當前文件夾下安裝pybind11后,第一步,編寫CPP文件

      1、cpp_sources/data_processor.h

      #include <random>
      #include <vector>
       
      class DataProcessor {
       public:
        DataProcessor() = default;
        void setData(std::vector<int> input_data);
        int process();
       private:
        std::vector<int> data_;
      };

      2、cpp_sources/data_processor.cpp

      #include "data_processor.h"
      
      #include <numeric>
      
      void DataProcessor::setData(std::vector<int> input_data) {
          data_ = std::move(input_data);
      }
      
      int DataProcessor::process() {
          return std::accumulate(data_.begin(), data_.end(), 0);
      }
      

      3、pybind_cpp_sources.cpp

      #include <pybind11/detail/common.h>
      #include <pybind11/pybind11.h>
      #include <pybind11/stl.h>
      
      #include "cpp_sources/data_processor.h"
      
      namespace py = pybind11;
      PYBIND11_MODULE(pybind_cpp_module, m) {
        py::class_<DataProcessor>(m, "DataProcessor")
            .def(py::init())
            .def("setData", &DataProcessor::setData)
            .def("process", &DataProcessor::process);
      }

      第二步,編寫Python文件

      1、python_sources/data_processor.py

      import random
      
      
      class DataProcessor:
          def __init__(self):
              self.data = list()
              self.random_seed = 0
      
          def set_data(self, input_data: list) -> None:
              self.data = input_data
      
          def process(self) -> int:
              return sum(self.data) 

      2、python_sources/__init__.py,該文件為空即可。

      3、python_interface.py

      import pybind_cpp_module
      import python_sources.data_processor
      
      input_data = list(range(10))
      
      cpp_data_processor = pybind_cpp_module.DataProcessor()
      cpp_data_processor.setData(input_data)
      print("C++ data processor output: {}".format(cpp_data_processor.process()))
      
      python_data_processor = python_sources.data_processor.DataProcessor()
      python_data_processor.set_data(input_data)
      print("Python data processor output: {}".format(python_data_processor.process()))

      第三步,編寫編譯文件CMakeLists.txt

      cmake_minimum_required(VERSION 3.5)
      project(example LANGUAGES CXX)
      
      set(SOURCES cpp_sources/data_processor.cpp)
      
      add_subdirectory(pybind11)
      pybind11_add_module(pybind_cpp_module pybind_cpp_sources.cpp ${SOURCES})

      第四步,編譯運行:

      cmake . && make
      python python_interface.py
      

        

      posted @ 2024-05-07 17:18  南鄉水  閱讀(72)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 铜陵市| 日韩精品 在线 国产 丝袜| 在线精品视频一区二区三四| 午夜免费无码福利视频麻豆| 国产一区二区不卡在线| 成人无码潮喷在线观看| 欧日韩无套内射变态| 国产一级区二级区三级区| 最近中文字幕日韩有码| 正在播放酒店约少妇高潮| 亚洲一区二区三区啪啪| 久久午夜无码免费| 丰满岳妇乱一区二区三区| 亚洲AV成人片不卡无码| 亚洲精品一区二区麻豆| 寻乌县| 亚洲午夜福利精品无码不卡| 欧美亚洲高清日韩成人| 99精品国产综合久久久久五月天| 四虎女优在线视频免费看| 国产精品成人午夜福利| 成在线人免费| 国产精品久久久久影院色| 九九热视频在线观看视频| 小婕子伦流澡到高潮h| 少妇被粗大的猛烈xx动态图| 老司机午夜精品视频资源| 亚洲国产另类久久久精品小说| 无码精品人妻一区二区三区中| 亚洲人妻精品一区二区| 县级市| 亚洲av日韩av中文高清性色| 人妻出轨av中文字幕| 中文字幕人妻无码一夲道| 999福利激情视频| 亚洲男女一区二区三区| 成人网站免费观看永久视频下载 | 亚洲中文一区二区av| 99RE6在线视频精品免费下载| 黄又色又污又爽又高潮| 亚洲成人网在线观看|