bước
- đổi. py đến. pyx
- sử dụng cython để chuyển đổi. pyx để. c
- biên dịch. c
- Chạy thử nghiệm
tập tin python ví dụ
script.py
bước 1
bạn có thể sao chép hoặc đổi tên cả hai tôi đang sao chép
cp script.py script.pyx
bước 2
cython script.pyx --embed
bước 3
gcc -Os -I /usr/include/python3.8 -o script script.c -lpython3.8 -lpthread -lm -lutil -ldl
bước 4
./script
và thực hiện
[Alexander] đã tạo codex_py2cpp như một cách thử nghiệm với Codex, một AI nhằm dịch ngôn ngữ tự nhiên thành mã. Tuy nhiên, [Alexander] có những ý tưởng hơi khác và đã tạo ra
cp script.py script.pyx
3 như một cách để chơi với ý tưởng tự động chuyển đổi Python thành C++. Nó không thực sự nhằm tạo ra các chuyển đổi mã mạnh mẽ, nhưng theo như các thử nghiệm, nó khá gọn gàngCodex là một ý tưởng thú vị và đây không phải là thử nghiệm đầu tiên mà chúng tôi thấy sử dụng khái niệm sử dụng máy học theo cách này. Chúng tôi đã thấy một dự án tạo ra các lệnh Linux dựa trên mô tả bằng lời nói và [Maya Posch] của riêng chúng tôi đã xem xét kỹ GitHub Copilot, một dự án có triển vọng và ý tưởng cao, nhưng — ít nhất là vào thời điểm đó — ít hơn đáng kể
[quảng cáo_1]
chuyển mã python sang c trực tuyến miễn phí
a=[int[x] for x in input[].split[]] n=int[input[]] l=[] for i in range[len[a]-1]: c=0 print[a[i],a[i+1]] for j in range[2, min[a[i], a[i+1]]+1]: if a[i]%j==a[i+1]%j==0: c=1 if c==0 and a[i]>a[i+1]: l.append[i] print[l[0]]
chuyển mã python sang c trực tuyến miễn phí
name=input["please enter your name: "] print["your name is " + name] print["name data type: ",type[name]] age = input["please enter your age: "] print["your age is " + age] print["name data type: ",type[age]]
chuyển mã python sang c trực tuyến miễn phí
n=int[input[]] a,b=map[int,input[].split[]] for j in range[n]: x=int[input[]] c=0 for i in range [a,b+1]: if[x%i==0]: c+=1 print[c]
chuyển mã python sang c trực tuyến miễn phí
________số 8[quảng cáo_2]
Hãy chia sẻ
rất nhiều người sử dụng Cython để biên dịch mã python của họ trong C để tăng hiệu suất. Nó rất dễ làm và có thể là thứ mà bạn muốn tận dụng
Đảm bảo rằng bạn đã cài đặt Cython trước
Quá trình tổng thể diễn ra như thế này
- Mang các phần mã của bạn mà bạn muốn chuyển đổi sang c thành một tệp riêng
- Cung cấp thông tin về loại và cho Cython biết những gì bạn muốn sử dụng trong Python và những gì bạn không sử dụng
- biên dịch tệp riêng biệt bằng cách sử dụng thiết lập. tập tin py
Trong ví dụ này, giả sử chúng ta muốn biên dịch hàm này thành C
def AddToTen[]:
x = 0for i in range[1,11]:
x+=i
return x
Điều đầu tiên chúng ta cần làm là di chuyển cái này từ một. tập tin py vào một. pyx, đó là những gì Cython sử dụng. Bây giờ chúng tôi sẽ cung cấp thông tin loại cho các biến của chúng tôi
Bạn muốn đọc câu chuyện này sau?
trong Cython, có ba câu lệnh def
- cdef. khai báo thứ gì đó sẽ chỉ được sử dụng trong c [như các biến bên trong hàm của chúng ta]
- pdef. khai báo thứ gì đó sẽ chỉ được sử dụng trong Python
- cpdef. tuyên bố một cái gì đó điều này sẽ được sử dụng trong cả hai
cp script.py script.pyx
0Vì tôi sẽ không gọi các biến bên trong hàm của chúng ta trong Python, nên tôi đã sử dụng cdef, nhưng đối với chính hàm đó, tôi đã sử dụng cpdef
Ngoài ra, lưu ý rằng chúng tôi đã nhập I trong vòng lặp for và hàm vì nó trả về một int
Bây giờ chúng ta phải biên dịch. pyx. Trong một tệp riêng biệt [của tôi có tên là setup. py], hãy viết đoạn mã sau
cp script.py script.pyx
1Cuối cùng, trong terminal [đảm bảo rằng bạn đang ở trong cùng một thư mục], hãy chạy dòng
cp script.py script.pyx
2Điều này sẽ biên dịch pyx của bạn và bạn sẽ thấy một tệp có cùng tên với phần mở rộng. c thay vì pyx
Giờ đây, bạn có thể nhập các hàm c của mình vào các tệp python cục bộ, với điều kiện là bạn đã sử dụng cpdef, chỉ bằng cách nhập 'tên tệp của bạn'. Các IDE có xu hướng đưa ra lỗi nhập cho tôi mặc dù chúng đã nhập tốt. Bạn cũng có thể nhập các thư viện python vào tệp pyx, nhưng theo kinh nghiệm của tôi, nó hoạt động giống như trong Python