C++Python 스 크 립 트 의 함수 인 스 턴 스 코드 를 호출 합 니 다.
python 을 설치 한 후 python 의 include 와 lib 를 자신의 프로젝트 디 렉 터 리 에 복사 합 니 다.
그리고 공사 에 포 함 됩 니 다.
2.예
먼저 python 테스트 스 크 립 트 를 작성 합 니 다.다음 과 같 습 니 다.
이 스 크 립 트 에는 두 함수 Hello()와 가 정의 되 어 있 습 니 다.add()。제 스 크 립 트 파일 이름 은 my test.py 입 니 다.
C++코드:
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include "include\Python.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
// Python
Py_Initialize();
PyRun_SimpleString("import sys");
// Insert
//PyRun_SimpleString(chdir_cmd.c_str());
PyRun_SimpleString("sys.path.append('./')");
//
PyObject* pModule = PyImport_ImportModule("mytest");
if (!pModule)
{
cout << "Python get module failed." << endl;
return 0;
}
cout << "Python get module succeed." << endl;
PyObject * pFunc = NULL;
pFunc = PyObject_GetAttrString(pModule, "Hello");
PyEval_CallObject(pFunc, NULL);
// Insert _add
PyObject* pv = PyObject_GetAttrString(pModule, "_add");
if (!pv || !PyCallable_Check(pv))
{
cout << "Can't find funftion (_add)" << endl;
return 0;
}
cout << "Get function (_add) succeed." << endl;
// ,args
PyObject* args = PyTuple_New(2);
// Long Python
PyObject* arg1 = PyLong_FromLong(4);
PyObject* arg2 = PyLong_FromLong(3);
// arg1 arg
PyTuple_SetItem(args, 0, arg1);
// arg1 arg
PyTuple_SetItem(args, 1, arg2);
// ,
PyObject* pRet = PyObject_CallObject(pv, args);
if (pRet)
{
// long
long result = PyLong_AsLong(pRet);
cout << "result:" << result << endl ;
}
Py_Finalize();
system("pause");
return 0;
}
C++코드 가 인용 할 수 있 도록 스 크 립 트 가 놓 인 위 치 를 주의 하 십시오.실행 결과:
3.python 코드 처리
소프트웨어 를 발표 할 때,일반적으로 우 리 는 코드 가 다른 사람 에 게 직접 보 이 는 것 을 원 하지 않 는 다.
위의 Debug 디 렉 터 리 의 exe 를 단독으로 실행 하려 면 python 스 크 립 트 를 복사 해 야 합 니 다.다른 사람 이 나의 코드 를 직접 볼 수 없 도록 내 가 복사 한 것 은 생 성 된.pyc 파일 이다.
복사 한 후 파일 이름 변경:
간단 한 python 코드 의 암호 화 를 실현 하 였 습 니 다.
하지만 역 컴 파일 이 가능 하 다 고 하 는데 저 한 테 는 충분 합 니 다.
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 상세 한 C++Python 스 크 립 트 의 함 수 를 호출 하 는 인 스 턴 스 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdu 1717 소수 화 점수 2 (수학)소수 화 점수 2 레이 는 수학 시간 에 선생님 의 말씀 을 듣 고 모든 소수 가 점수 로 표시 되 는 형식 이 라 고 말 했다. 그 는 녹 기 시 작 했 고 곧 완성 되 었 다. 그러나 그 는 또 하나의 문 제 를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.