외부 함수 호출 (external_call)
이 문서는 external_call
함수에 대해 설명합니다. 이 함수는 external_define()
을 사용하여 정의한 외부 함수 호출을 가능하게 합니다. 외부 함수의 이름과 필요한 인수를 제공하면, 해당 함수의 결과를 반환받을 수 있습니다.
문법
external_call(id, args[0...15]);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | 외부 함수 | 호출하고자 하는 함수의 이름 |
args[0...10] | 실수 또는 문자열 | 외부 함수에 전달할 다양한 인수 |
반환 값
- 반환 값의 유형은 정의된 함수에 따라 달라집니다.
예제
다음은 외부 함수를 정의하고 호출하는 예제입니다.
my_function = external_define("MyDLL.dll", "MyMin", dll_cdecl, ty_real, 2, ty_real, ty_real);
var _a = external_call(my_function, x, y);
위의 예제 코드는 이전에 정의한 외부 함수를 호출하고, 반환된 값을 지역 변수에 저장합니다.
활용 예제
- 두 수의 합을 계산하는 외부 함수 호출
gml my_sum_function = external_define("MyDLL.dll", "Sum", dll_cdecl, ty_real, 2, ty_real, ty_real); var result = external_call(my_sum_function, 5, 10);
- 문자열 길이를 반환하는 외부 함수 호출
gml my_string_length_function = external_define("MyDLL.dll", "StringLength", dll_cdecl, ty_real, 1, ty_string); var length = external_call(my_string_length_function, "Hello, World!");
- 최대값을 찾는 외부 함수 호출
gml my_max_function = external_define("MyDLL.dll", "Max", dll_cdecl, ty_real, 2, ty_real, ty_real); var max_value = external_call(my_max_function, 20, 30);
- 배열의 합을 계산하는 외부 함수 호출
gml my_array_sum_function = external_define("MyDLL.dll", "ArraySum", dll_cdecl, ty_real, 1, ty_array); var array = [1, 2, 3, 4, 5]; var total = external_call(my_array_sum_function, array);
- 외부 API를 통해 데이터 가져오기
gml my_api_function = external_define("MyAPI.dll", "GetData", dll_cdecl, ty_string, 0); var data = external_call(my_api_function);
이와 같이 external_call
함수를 사용하면 다양한 외부 함수를 호출하여 필요한 작업을 수행할 수 있습니다.