
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.201] |
![]() |
|
Страницы: (117) « Первая ... 53 54 [55] 56 57 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#811
,
|
|
|
Цитата Hryak А ты "создание процедуры" не попутал с "вызовом процедуры" ? А давай считать, что msvcrt.dll написана на дельфи ![]() ![]() ![]() library msvcrt; procedure printf; begin // тут эта.. мега функционалъ // взятый из printf.c ток пока не доделаный :) // buffing := _stbuf(stdout); // retval := _output(stdout,format,arglist); // _ftbuf(buffing, stdout); // return(retval); end; exports printf; end. Цитата Alex Forth А могу я на этих декларациях сделать третий вызов? ну попытайся - мож и сможешь... ![]() |
Сообщ.
#812
,
|
|
|
Ты как обычно ничего не напутал? Во времени, затраченном на выполнение функции printf время ее вызова составляет хорошо если сотые доли процента.
|
Сообщ.
#813
,
|
|
|
Цитата N0P @ Цитата Hryak А ты "создание процедуры" не попутал с "вызовом процедуры" ? А давай считать, что msvcrt.dll написана на дельфи ![]() Я вижу процедуру без параметров, а не с переменным числом параметров. Цитата Цитата Alex Forth А могу я на этих декларациях сделать третий вызов? ну попытайся - мож и сможешь... ![]() Сарказма не заметил, да? Тогда перевожу - перегрузка функций и функция с переменным числом аргументов - это разные вещи. Какое же тут переменное число (и типы) аргументов, если для того, чтобы вызвать функцию, нужно всё равно определять прототип с необходимым количеством и типами аргументов? ![]() |
Сообщ.
#814
,
|
|
|
Цитата trainer Ты как обычно ничего не напутал? Во времени, затраченном на выполнение функции printf А , причем тут вызов printf? Цитата printf ('Hello, wtf?'+n); В виду то - имелся плюсик, и про оптимизацию компилера который решил особо не напрягать CPU ![]() Цитата Hryak нужно всё равно определять прототип а мне до лампочки до всего того гемора "что там нужно". Я лишь "трюк" показал, рабочий ![]() Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi? |
![]() |
Сообщ.
#815
,
|
|
можно, конечно Цитата N0P @ Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi? столько же, сколько и в дельфи s3 = s1 + s2; |
Сообщ.
#816
,
|
|
|
Цитата а мне до лампочки до всего того гемора "что там нужно". Я лишь "трюк" показал, рабочий Не в тему показал. Мы тут толкуем про невозможность, как минимум, задекларировать в паскале процедуру с переменным числом параметров, а ты предлагаешь неполноценные костыли. Цитата Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi? Примерно столько: ![]() ![]() string s1 = "Now is the time..."; string s2 = "for all good men..."; string s3 = s1 + s2; cout << "s3 is " << s3 << endl; |
Сообщ.
#817
,
|
|
|
Цитата Alex Forth Примерно столько: string s1 = "Now is the time..."; string s2 = "for all good men..."; string s3 = s1 + s2; cout << "s3 is " << s3 << endl; Садись два ©низачот - многа буков. Кстати скока их осталось за бортом iostream классов? Во что они превратились после перемола супер-компилером со всеми оптимайз фичами? Можно их в студию, посмотреть? ![]() |
Сообщ.
#818
,
|
|
|
Цитата N0P @ Садись два ©низачот - многа буков. Кстати скока их осталось за бортом iostream классов? Во что они превратились после перемола супер-компилером со всеми оптимайз фичами? ПРичем тут iostream? Ты спрашивал: Цитата N0P Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi? Тебе показали: ![]() ![]() s3 = s1 + s2 ![]() |
Сообщ.
#819
,
|
|
|
Цитата Hryak ПРичем тут iostream? Ты спрашивал: Цитата (N0P) Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi? Да я спрашивал.. и вопрос остаеться открытым. Интересно посмотреть на "как это с нуля". Поскольку я приводил тестированые полностью готовые версии прог (exe/dll), скомпилить которые вы можете например консольным компилятором dcc32.exe +модуль system.dcu (и не за горами, надеюсь dcc64.exe=) кстати скока выкрутасов с def и lib файлами нужно в C++ чтоб уже испечь исполняемый файл? |
Сообщ.
#820
,
|
|
|
Цитата N0P @ Интересно посмотреть на "как это с нуля". s=s1+s2; это с нуля. Добавлено Цитата N0P @ кстати скока выкрутасов с def и lib файлами нужно в C++ чтоб уже испечь исполняемый файл? ммм.. нисколько. если конечно не решил использовать своиже либы или длл-ы. но и тогда выкрутысов немного. |
Сообщ.
#821
,
|
|
|
Цитата N0P @ Цитата Alex Forth Примерно столько: string s1 = "Now is the time..."; string s2 = "for all good men..."; string s3 = s1 + s2; cout << "s3 is " << s3 << endl; Садись два ©низачот - многа буков. Кстати скока их осталось за бортом iostream классов? Во что они превратились после перемола супер-компилером со всеми оптимайз фичами? Можно их в студию, посмотреть? ![]() Ты можешь на чем то одном остановится? Просил оператор "+" для строк - ты его получил. Нафига сьезжать на стримы? Это уже другой боян. Что касается сгенеренного кода, то его действительно не мало. Кроме основной функциональности добавляется код для ексепшенов и трайтсов. |
![]() |
Сообщ.
#822
,
|
|
Цитата N0P @ Интересно посмотреть на "как это с нуля". Не много ![]() А в Дельфи с нуля такое реализуемо? Скажем складывать строку с числом(произвольным объектом)? ![]() |
![]() |
Сообщ.
#823
,
|
|
Цитата archimed7592 @ Скажем складывать строку с числом(произвольным объектом)? ну.. например такое: ![]() ![]() begin a := '10'; b := 10; с := a + b; end; |
Сообщ.
#824
,
|
|
|
Цитата LuckLess s=s1+s2; это с нуля. И ты садись - два. C нуля это - с функции main и до последней скобочки }. Там ж вроде как немного буков то писать. Цитата если конечно не решил использовать своиже либы или длл-ы. как раз вот и решил написать exe и dll, на С++. На дельфи же я показал. Цитата но и тогда выкрутысов немного. на скока их немного, а то у мене примеры компиляться в командной строке типа ![]() ![]() dcc32 hello.pas и вуаля я уже вижу hello.exe или msvcrt.dll ![]() Цитата Просил оператор "+" для строк - ты его получил. Мене интересуют через какие "костыли" они получены. А то малоли - мож они куда более неполноценные, чем предложеный "грязный хак", решения одной незначительной printf проблемы.. Удобно ведь кстати - согласитесь, и многа буков писать не надо, тем более храня их в голове. ![]() |
![]() |
Сообщ.
#825
,
|
|
Цитата N0P @ А то малоли - мож они куда более неполноценные, чем предложеный "грязный хак", решения одной незначительной printf проблемы.. ты грабли своим кому кому то подожил. для импорта сишных функций с переменным числом параметров есть директива varargs. |