【问题标题】:Windows application using python and c++使用 python 和 c++ 的 Windows 应用程序
【发布时间】:2020-07-31 18:00:27
【问题描述】:

我想开始使用我自己的 Windows 软件。我知道python,我正在学习c++。如何使用 c++ 编写的前端和 python 的后端创建 Windows 软件? 我知道这是可能的,因为搅拌机也是用 c++ 和 python 编写的

【问题讨论】:

  • 你遇到了一个大问题。 Python 语言是解释型的,需要解释器才能运行。 C++ 语言编译为本机代码。 Python 可以调用 C++ 代码。让 C++ 应用程序调用 Python 代码更加困难。恕我直言,请使用一种语言。
  • @Thomas Matthews 我想要/需要同时使用两者的原因是因为 python 对前端不是很好,而 c++ 对后端不是最好的
  • 您的问题可能会被否决,因为听起来您正在请求教程。对于 Stack Overflow 答案,教程或说明可能太长。人们还希望看到代码和有关代码的问题。
  • @Thomas Matthews 我不是要教程,但我要的是指导方针,以便我可以找到教程
  • 阅读 cpython 文档here中的教程

标签: python c++ windows


【解决方案1】:

您可以将 Python 嵌入到 C++ 中。

Documentation

嵌入 Python 的最简单形式是使用非常高级的接口。该接口旨在执行 Python 脚本,而无需直接与应用程序交互。例如,这可用于对文件执行某些操作。

#define PY_SSIZE_T_CLEAN
#include <Python.h>

int
main(int argc, char *argv[])
{
    wchar_t *program = Py_DecodeLocale(argv[0], NULL);
    if (program == NULL) {
        fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
        exit(1);
    }
    Py_SetProgramName(program);  /* optional but recommended */
    Py_Initialize();
    PyRun_SimpleString("from time import time,ctime\n"
                    "print('Today is', ctime(time()))\n");
    if (Py_FinalizeEx() < 0) {
        exit(120);
    }
    PyMem_RawFree(program);
    return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 2011-05-21
    • 2021-09-11
    • 1970-01-01
    • 2012-04-17
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多