คอมไพล์โค้ดไพทอนไปเป็นภาษาซีด้วย Cython
สามารถคอมไพล์ได้ด้วยคำสั่ง
cython ไฟล์.py
หากต้องการแนบ Python interpreter เพิ่มคำสั่ง --embed เข้าไป
cython --embed ไฟล์.py
จะได้ไฟล์ ไฟล์.c ขึ้นมา เพื่อนำไปคอมไพล์อีกรอบหนึ่ง
ตัวอย่างเช่น
cython --embed -o num.c num.py
ใช้ Cython ช่วยสร้างโมดูลไพทอน
ตัวอย่างโมดูล “hello world”
ให้สร้างไฟล์ hello.pyx ขึ้นมา
ไฟล์ .pyx คือ อะไร ?
ไฟล์ .pyx เป็นไฟล์สำหรับให้ Cython ทำการคอมไพล์ไปเป็นภาษาซี เป็นไฟล์ช่วยขยายความสามารถให้กับไพทอน
โดยมีโค้ดดังนี้
[python]
def say_hello_to(name):
print("Hello %s!" % name)[/python]
ต่อไปสร้างไฟล์สำหรับใช้ติดตั้งโมดูล คือ ไฟล์ setup.py
โดยมีโค้ดดังนี้
[python]
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_modules = cythonize("hello.pyx"),
)
[/python]
ติดตั้งด้วยคำสั่ง
python setup.py build_ext --inplace
ลองใช้งาน
[python]
from hello import say_hello_to
say_hello_to("Boy")[/python]
เอกสารการใช้งาน Cython ได้ที่ http://docs.cython.org/index.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
อ่านบทความอื่น ๆ ของ Cython ได้จาก https://python3.wannaphong.com/tag/cython
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)