Что такое функция main0
?Какова функция `main0`?
Я пишу библиотеку gtk3. Однако для функции g_application_run()
требуется argv
. Конечно, язык ATS может использовать argv
на main0
функции. Но какой тип?
Что такое функция main0
?Какова функция `main0`?
Я пишу библиотеку gtk3. Однако для функции g_application_run()
требуется argv
. Конечно, язык ATS может использовать argv
на main0
функции. Но какой тип?
Следующий код объявлен в прелюдии/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
, который заканчивается нулевым значением. Обратите внимание, что нулевое значение не считается частью размера.
Большое спасибо. Моя проблема исправлена: – masterq
https://github.com/metasepi/c2ats/commit/bbe91528f3d0a9a860c2460b4f5419f049ed9e91 – masterq