2016-12-29 4 views
1

main0의 종류는 무엇입니까?`main0` 함수의 종류는 무엇입니까?

저는 gtk3 라이브러리를 작성하고 있습니다. 그러나 g_application_run() 함수는 argv이 필요합니다. 물론 ATS 언어는 main0 함수에 argv을 사용할 수 있습니다. 그러나 유형은 무엇입니까?

답변

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 
// 

당신이 볼 수 있듯이, main0main_void_0main_argc_argv_0 오버로드됩니다. 유형 argv(n)은 본질적으로 Null 값으로 끝나는 크기 n의 선형 문자열 배열을위한 것입니다. null 값은 크기의 일부로 계산되지 않습니다.

+0

감사합니다. 문제가 해결되었습니다. – masterq

+0

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

관련 문제