Итак, я сделал игру в Python и PyGame. Теперь я заинтересован в отправке игры в Intel's March Developer Challenge. Однако задача разработчика требует использования Intel Atom Developer SDK (http://appdeveloper.intel.com/en-us/sdk), который имеет только API для C и C++.Можно использовать Python с Intel Atom Developer SDK (C/C++)?
Я новичок в Python и PyGame и не имею опыта работы на C или C++. Мой вопрос заключается в том, можно ли каким-то образом реализовать Intel Atom SDK через/с/из приложения Python (как показывает первая ссылка выше)?
Я прочитал немного о вложении/расширении Python в/с 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?
Похоже, было бы намного легче пройти маршрут распространения Python с кодом проверки C, вместо того, чтобы пытаться внедрить всю мою игру в 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 Page SDK Руководство Разработчик: HTTP: // appdeveloper.intel.com/sites/files/pages/SDK%20Developer%20Guide.pdf
Спасибо за подсказку Ignacio. –