Каковы основные части файла ввода приложения Tizen?

Поскольку Tizen все еще не так популярен, я не смог найти объяснение файла ввода приложения Tizen. Может ли кто-нибудь, основываясь на следующем примере кода, объяснить отдельные части входного файла Tizen (возвращаемое значение главной функции, #ifdef, args …)?

#include <new>
#include "MultipointTouch.h"
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;

#ifdef __cplusplus
extern "C"{
#endif // __cplusplus

_EXPORT_ int OspMain(int argc, char* pArgv[]);

/**
* The entry function of Tizen C++ application called by the operating system.
*/
int
OspMain(int argc, char* pArgv[])
{
AppLog("Application started.");
ArrayList args;
args.Construct();
for (int i = 0; i < argc; i++)
{
args.Add(*(new (std::nothrow) String(pArgv[i])));
}

result r = Tizen::App::Application::Execute(MultipointTouch::CreateInstance, &args);
TryLog(r == E_SUCCESS, "[%s] Application execution failed", GetErrorMessage(r));

args.RemoveAll(true);
AppLog("Application finished.");
return static_cast<int>(r);
}
#ifdef __cplusplus
}
#endif // __cplusplus

0

Решение

  • #ifdef __cplusplus
    extern "C

Не тизен-специфичный. Что он делает, так это «[сделать] имя функции в C ++ имеет связь« C »(компилятор не искажает имя), чтобы клиентский код C мог ссылаться (т.е. использовать) вашу функцию, используя совместимый с« C »заголовочный файл, который содержит только объявление вашей функции. « (источник).


  • int OspMain(int argc, char* pArgv[])

OspMain это просто точка входа для собственного приложения Tizen (т.е. первая функция в вашем приложении, которую ОС вызывает при запуске приложения), очень похоже на main или же WinMain в других ОС / фреймворках.


  • арг

App Execute метод ожидает аргументы в виде списка Strings. Итак OspMain Функция заботится о создании этого списка до вызова Execute Способ; String создается из каждого char* в argv, и те Strings помещены в ArrayList (который является реализацией IList интерфейс).


  • возвращаемое значение

Тип возврата OspMain является int, но код результата, который он получает от Execute имеет тип result, так что бросает result для int, Есть множество вопросов на тему C ++, если вы хотите узнать больше о них.


В конце концов, я думаю, что есть очень немного случаев, когда вам придется заботиться о файле Entry как о разработчике приложения. Он автоматически создается для вас в IDE, а не то, что вы обычно меняете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]