2010-03-26 42 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