2010-03-26 44 views
0

所以我用Python和PyGame做了一個遊戲。現在我有興趣將遊戲提交到Intel's March Developer Challenge。但是,開發人員的挑戰需要使用英特爾的Atom Developer SDK(http://appdeveloper.intel.com/en-us/sdk),該SDK僅具有用於C和C++的API。可能使用Python與英特爾的Atom開發人員SDK(C/C++)?

我是Python和PyGame的新手,並且沒有C或C++的經驗。我的問題是,是否有可能以某種方式通過/從Python應用程序實現Intel Atom SDK(如上面第一條鏈接所示)?

我已經讀了一點點關於嵌入/擴展Python到/ with C,但我不完全確定要嵌入或在哪裏。我的意思是,我知道我可以做這樣的事情在C:

#include <Python.h> 

int 
main(int argc, char *argv[]) 
{ 
    Py_Initialize(); 
    PyRun_SimpleString("from time import time,ctime\n" 
        "print 'Today is',ctime(time())\n"); 
    Py_Finalize(); 
    return 0; 
} 

可是我該怎麼辦我所有的Python和pygame的依賴性,對於沒有安裝在他們的機器哪些人?通常Py2Exe負責壓縮所需的依賴關係(我已經設法將我的遊戲打包成exe/zip),但是如何在嵌入C的環境中處理那些東西?我可以以某種方式在py2exe上工作,或者我需要做一些完全不同的事情來嵌入C中?

看起來像使用C驗證代碼擴展Python的路線會更容易,而不是試圖在C中嵌入我的整個遊戲,但我認爲這不是一個選項,「因爲庫提供了目前僅作爲Visual Studio 2008'.lib'「提供,這意味着應用程序必須使用Visual Studio編譯...?

任何幫助,想法或想法都非常感謝!



您可以在英特爾網站上找到完整的SDK開發人員指南以上,但這裏是他們的 「Hello World」 使用C語言API:

#include <stdio.h> 
#include 「adpcore.h」 
int main(int argc, char* argv[]) 
{ 
    ADP_RET_CODE ret_code; 
    const ADP_APPLICATIONID myApplicationID = {{ 
     0x12345678,0x11112222,0x33331234,0x567890ab}}; 

    if ((ret_code = ADP_Initialize()) != ADP_SUCCESS){ 
     printf(「ERROR: exiting」); 
     exit(-1); 
    } 
    if ((ret_code = ADP_IsAuthorized(myApplicationId)) == ADP_AUTHORIZED) 
     printf(「Hello World」); 
    else 
     printf(「Not authorized to run」); 
    exit 0; 
} 

35頁SDK開發人員指南:HTTP: // appdeveloper.intel.com/sites/files/pages/SDK%20Developer%20Guide.pdf

回答

1

如果你能幫到,請不要下降到C級。使用Cython寫入綁定。

+0

感謝提示Ignacio。 – 2010-04-08 05:08:58