2016-12-29 2 views
1

Что такое функция main0?Какова функция `main0`?

Я пишу библиотеку gtk3. Однако для функции g_application_run() требуется argv. Конечно, язык ATS может использовать argv на main0 функции. Но какой тип?

ответ

1

Следующий код объявлен в прелюдии/basics_dyn.dats:

// 
symintr main0 
// 
fun 
main_void_0 
    ((*void*)): void = "ext#mainats_void_0" 
fun 
main_argc_argv_0 
    {n:int | n >= 1} 
    (argc: int n, argv: !argv(n)): void = "ext#mainats_argc_argv_0" 
// 
overload main0 with main_void_0 
overload main0 with main_argc_argv_0 
// 

Как вы можете видеть, main0 перегружен main_void_0 и main_argc_argv_0. Тип argv(n) по существу предназначен для линейного массива строк размером n, который заканчивается нулевым значением. Обратите внимание, что нулевое значение не считается частью размера.

+0

Большое спасибо. Моя проблема исправлена: – masterq

+0

https://github.com/metasepi/c2ats/commit/bbe91528f3d0a9a860c2460b4f5419f049ed9e91 – masterq

Смежные вопросы