广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么将Python编译成C语言
  • 484
分享到

怎么将Python编译成C语言

2023-06-29 00:06:57 484人浏览 安东尼
摘要

这篇文章主要为大家展示了“怎么将python编译成C语言”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么将Python编译成C语言”这篇文章吧。前言:文章里用的Python环境是Anacond

这篇文章主要为大家展示了“怎么将python编译成C语言”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么将Python编译成C语言”这篇文章吧。

前言:

文章里用的Python环境是Anaconda3 2019.7
这里测试的程序是找出所有1000以内的勾股数。
a∈[1, 1000],b∈[1, 1000], c∈[1, 1000]

a² + b² = c² 有多少种解?

如果用普通的python去写,代码如下:

创建一个main.py

# encoding=utf-8# cython: language_level=3import timeimport pyximportpyximport.install()import pyth_triplesdef main():    start = time.time()    result = pyth_triples.count_triples(1000)    duration = time.time() - start    print(result, duration * 1000, "ms")if __name__ == '__main__':    main()

创建pyth_triples.py

# encoding=utf-8# cython: language_level=3Def count_triples(limit):    result = 0    for a in range(1, limit + 1):        for b in range(a + 1, limit + 1):            for c in range(b + 1, limit + 1):                if c ** 2 > a ** 2 + b ** 2:                    break                if c ** 2 == (a ** 2 + b ** 2):                    result += 1    return result

这时候还没有编译成C去运行,只是从pyx文件导入函数去使用。
执行结束以后,结果为881,耗时为57603毫秒,太慢了。

怎么将Python编译成C语言

现在开始,我们编译成C语言去运行,看一下效果。
修改pyth_triples.pyx文件,定义的变量都改为cdef int xxx = 0

# encoding=utf-8# cython: language_level=3def count_triples(limit):    cdef int result = 0    cdef int a = 0    cdef int b = 0    cdef int c = 0    for a in range(1, limit + 1):        for b in range(a + 1, limit + 1):            for c in range(b + 1, limit + 1):                if c ** 2 > a ** 2 + b ** 2:                    break                if c ** 2 == (a ** 2 + b ** 2):                    result += 1    return result

创建setup.py (这一步其实可以不做,因为这只是把编译结果写入本地磁盘,给我们展示生成的C语言代码长什么样)

# encoding=utf-8# cython: language_level=3from distutils.core import setupfrom Cython.Build import cythonize# set PYTHONHOME=D:\Anaconda3# conda activate# python setup.py build_ext --inplacesetup(    ext_modules=cythonize("pyth_triples.pyx"))

依次在pycharm的终端执行以下命令:

set PYTHONHOME=D:\Anaconda3conda activatepython setup.py build_ext --inplace

这将生成.c文件和一些不知道什么文件

怎么将Python编译成C语言

执行main.py以后,结果不变,实行时间由原来的57603毫秒减少到35毫秒左右,相差1600多倍。

怎么将Python编译成C语言

如果用Java去跑这套代码

Java代码:

public class TriplesTest {    public static void main(String[] args) {        long startTime = System.currentTimeMillis();        System.out.println(count_triples(1000));        long endTime = System.currentTimeMillis();        System.out.println("run time:" + (endTime - startTime) + "ms");    }    public static int count_triples(int limit) {        int result = 0;        for (int a = 1; a <= limit; a++) {            for (int b = a + 1; b <= limit; b++) {                for (int c = b + 1; c <= limit; c++) {                    if (Math.pow(c, 2) > Math.pow(a, 2) + Math.pow(b, 2)) {                        break;                    }                    if (Math.pow(c, 2) == Math.pow(a, 2) + Math.pow(b, 2)) {                        result += 1;                    }                }            }        }        return result;    }}

执行时间是130ms左右。

怎么将Python编译成C语言

以上是“怎么将Python编译成C语言”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网其他教程频道!

--结束END--

本文标题: 怎么将Python编译成C语言

本文链接: https://www.lsjlt.com/news/321367.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么将Python编译成C语言
    这篇文章主要为大家展示了“怎么将Python编译成C语言”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么将Python编译成C语言”这篇文章吧。前言:文章里用的Python环境是Anacond...
    99+
    2023-06-29
  • 如何将Python编译成C语言
    前言: 文章里用的Python环境是Anaconda3 2019.7这里测试的程序是找出所有1000以内的勾股数。a∈[1, 1000],b∈[1, 1000],...
    99+
    2022-11-13
  • 怎么编译C语言程序
    这篇文章主要介绍了怎么编译C语言程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么编译C语言程序文章都会有所收获,下面我们一起来看看吧。编译/执行 C 程序实例#include <stdio.h>...
    99+
    2023-06-17
  • c语言编译成功无法运行怎么解决
    出现编译成功但无法运行的情况,通常有以下几个原因和解决方法:1. 程序中存在错误:编译通过并不意味着程序没有错误。检查代码是否存在语...
    99+
    2023-08-28
    c语言
  • C语言条件编译怎么用
    本文小编为大家详细介绍“C语言条件编译怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言条件编译怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、基本概念条件编译的行为类似于 C 语言中的 if....
    99+
    2023-06-30
  • C语言预编译怎么使用
    这篇文章主要介绍“C语言预编译怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言预编译怎么使用”文章能帮助大家解决问题。1、内置符号这些符号都可以直接使用:__FILE__ &n...
    99+
    2023-06-30
  • ubuntu怎么编译运行c语言
    要在Ubuntu上编译和运行C语言程序,可以按照以下步骤操作:1. 打开终端:按下Ctrl+Alt+T组合键,或者在应用程序中搜索终...
    99+
    2023-09-08
    c语言 ubuntu
  • c语言怎么将a转换成A
    在C语言中,可以使用ASCII码来进行大小写转换。要将小写字母转换为大写字母,可以通过ASCII码的规律:大写字母的ASCII码值比...
    99+
    2023-10-28
    c语言
  • c语言中源文件编译后生成什么文件
    本教程操作环境:windows7系统、c99版本、Dell G3电脑。C语言源文件的编译C语言源文件后缀名是“.c”,编译生成的文件后缀名是“.obj”,连接后可执行文件的后缀名是“.exe”。C语言创建程序的步骤:编辑:就是创建和修改C程...
    99+
    2022-11-23
    C语言
  • linux中怎么使用gcc编译c语言程序
    在Linux中使用gcc编译C语言程序,可以按照以下步骤操作:1. 打开终端窗口(Terminal)。2. 进入要编译的C语言程序所...
    99+
    2023-09-21
    linux c语言
  • c语言怎么将大写字母转成小写
    本文小编为大家详细介绍“c语言怎么将大写字母转成小写”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言怎么将大写字母转成小写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。#!/bin/bash#name: u...
    99+
    2023-06-16
  • c语言中源文件编译后生成的文件是什么
    这篇文章主要介绍“c语言中源文件编译后生成的文件是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“c语言中源文件编译后生成的文件是什么”文章能帮助大家解决问题。c语言编译后生成“.OBJ”的二进制...
    99+
    2023-07-04
  • 计算机网络中怎么样将高级语言编写的程序翻译成机器语言程序
    小编给大家分享一下计算机网络中怎么样将高级语言编写的程序翻译成机器语言程序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!将高级语言编写的程序翻译成机器语言程序,可采用两种翻译方式:编译和解释。解释方式是将源程序逐句解释执行...
    99+
    2023-06-14
  • 怎么将class文件反编译成java文件
    要将class文件反编译成java文件,你可以使用Java反编译工具,如JD-GUI、Jad等。下面是使用JD-GUI工具的步骤:1...
    99+
    2023-08-25
    java
  • c语言编译正确但是无法运行怎么解决
    当C语言程序编译成功但无法运行时,通常有以下几个可能的原因和解决方法:1. 程序中存在语法错误:编译器能够检测到语法错误,但是这些错...
    99+
    2023-08-08
    c语言
  • go语言有依赖包怎么编译
    当Go语言项目有依赖包时,可以使用以下几种方法进行编译:1. 使用`go build`命令:在项目根目录下运行`go build`命...
    99+
    2023-09-26
    go语言
  • 怎么将c语言程序打包成exe可执行程序
    本文章向大家介绍怎么将c语言程序打包成exe可执行程序,主要包括怎么将c语言程序打包成exe可执行程序的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。C语言是什么C语言是一门面向过程的、抽象化...
    99+
    2023-06-06
  • 怎么在Win界面上完成C#编译
    这篇文章主要介绍“怎么在Win界面上完成C#编译”,在日常操作中,相信很多人在怎么在Win界面上完成C#编译问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Win界面上完成C#编译”的疑惑有所帮助!接下来...
    99+
    2023-06-18
  • C语言从编译到运行的过程是什么
    C语言从编译到运行的过程可以简单描述为以下几个步骤:1. 编写源代码:首先,程序员使用文本编辑器编写C语言源代码,包括各种语句和函数...
    99+
    2023-08-14
    C语言
  • Java、Python、C++、PHP、JavaScript5大编程语言怎么选
    这篇文章主要介绍了Java、Python、C++、PHP、JavaScript5大编程语言怎么选,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在我帮你解决这个问题之前,让我们...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作