Форум: "Прочее";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];
Внизкак передается array of const? Найти похожие ветки
← →
Дмитрий С © (2013-01-26 03:33) [0]В модуле libcurl в FP есть такое определение:
function curl_easy_setopt(curl:PCURL; option:CURLoption; args:array of const):CURLcode;cdecl;external External_library name "curl_easy_setopt";
Я так понимаю это написано, чтобы не писать несколько overload версий функции.
Прокомментируйте пожалуйста: как это "съест" явно СИшный libcurl? Приемлемо ли так писать?
← →
Дмитрий С © (2013-01-26 03:38) [1]В h файле такое определение:
CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
← →
MBo © (2013-01-26 07:39) [2]С-шная функция с переменным числом параметров (как в [1]) в Delphi объявляется с директивой varargs
args:array of const в Дельфи c этим делом не совместим, на самом деле это массив вариантных записей. Как в FP - не знаю.
← →
MBo © (2013-01-26 07:44) [3]По открытым массивам см. справку и
http://rvelthuis.de/articles/articles-openarr.html
А вот в FP, как показало трехсекундное гугление, сочетание cdecl с массивом const как раз соответствует С-шному переменному числу параметров.
http://www.freepascal.org/docs-html/ref/refsu60.html
← →
DevilDevil © (2013-01-26 09:35) [4]> MBo © (26.01.13 07:44) [3]
Дельфийский параметр - это TVarRec
а как выглядит сишный ?
← →
Dimka Maslov © (2013-01-26 13:13) [5]Data: array of const эквивалентно
Ptr: PVarRec; Cnt: Cardinal
в маздайном си эквивалента, скорее всего нет, а абракадабрском - есть. И наверняка в справке написано, как бы плоха она не была.
← →
Дмитрий С © (2013-01-26 14:27) [6]
> А вот в FP, как показало трехсекундное гугление, сочетание
> cdecl с массивом const как раз соответствует С-шному переменному
> числу параметров.
Спасибо.
КАк ни странно, но погуглить в голову мне не пришло, и это при том что при переходе на FP с delphi гугл требуется каждые 10 минут.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c