2009-04-27 36 views
0

我需要編寫一個客戶端 - 服務器應用程序。我想用python編寫它,因爲我很熟悉它,但是我想知道python代碼是否可以從C運行。我打算有兩個C項目,一個包含服務器代碼,另一個包含服務器代碼包含客戶端代碼。我可以在python中編寫我的應用程序,然後從C運行它們嗎?

是否有可能評估python代碼並運行它?有沒有另外一種方法呢?

底線是python代碼必須從C運行,並且它的行爲必須像在python解釋器下運行一樣。我現在問這個問題,因爲我不想浪費時間編寫python代碼,以便後來發現我無法實現這一點。作爲一個旁註,我只打算使用基本的python模塊(socket,select等)。

編輯:也許這個編輯是爲了。我以前沒有在C中嵌入python,我不知道行爲會是什麼。事情是,服務器將有一個選擇循環,因此將運行「永遠」。 C會讓我這樣做嗎?

EDIT2:這是爲什麼我需要這樣做。在學校,一位老師要求我們用C做一個非常複雜的客戶端 - 服務器應用程序。我要作弊,用python編寫代碼並將其嵌入到C中。

+0

你的意思是Python語言C或用C Python嵌入一個交叉編譯器? – 2009-04-27 10:11:19

+3

你的老師是不是想看看你的源代碼?練習的重點不是證明你對C的認識嗎? – 2009-04-27 10:23:04

回答

1

是的,您可以通過在您的程序中嵌入解釋器來運行C語言中的Python代碼。您可以將部分C代碼暴露給Python,並從Python中調用暴露的C代碼,就好像它們是普通的Python函數一樣。

一個好的開始是Python文檔中的Embedding部分。還可以看看cobbal的article linked to

相關問題