На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++

Страницы: (117) « Первая ... 53 54 [55] 56 57 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата Hryak
    А ты "создание процедуры" не попутал с "вызовом процедуры" ?

    А давай считать, что msvcrt.dll написана на дельфи ;) В котором эта процедура имеет вид, примерно вот такой
    ExpandedWrap disabled
      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
    А могу я на этих декларациях сделать третий вызов?

    ну попытайся - мож и сможешь... :yes:
      Цитата N0P @
      IntelC++ наверно лучше бы оформил?
      Ты как обычно ничего не напутал? Во времени, затраченном на выполнение функции printf время ее вызова составляет хорошо если сотые доли процента.
        Цитата N0P @
        Цитата Hryak
        А ты "создание процедуры" не попутал с "вызовом процедуры" ?

        А давай считать, что msvcrt.dll написана на дельфи ;) В котором эта процедура имеет вид, примерно вот такой

        Я вижу процедуру без параметров, а не с переменным числом параметров.

        Цитата
        Цитата Alex Forth
        А могу я на этих декларациях сделать третий вызов?

        ну попытайся - мож и сможешь... :yes:

        Сарказма не заметил, да? Тогда перевожу - перегрузка функций и функция с переменным числом аргументов - это разные вещи. Какое же тут переменное число (и типы) аргументов, если для того, чтобы вызвать функцию, нужно всё равно определять прототип с необходимым количеством и типами аргументов? :blink:
          Цитата trainer
          Ты как обычно ничего не напутал? Во времени, затраченном на выполнение функции printf

          А , причем тут вызов printf?
          Цитата
          printf ('Hello, wtf?'+n);

          В виду то - имелся плюсик, и про оптимизацию компилера который решил особо не напрягать CPU :)
          Цитата Hryak
          нужно всё равно определять прототип

          а мне до лампочки до всего того гемора "что там нужно". Я лишь "трюк" показал, рабочий :)

          Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi?
            Цитата Бобёр @
            а, ну ещё наверное можно использовать ещё сам VARIANT

            можно, конечно

            Цитата N0P @
            Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi?

            столько же, сколько и в дельфи
            s3 = s1 + s2;
              Цитата
              а мне до лампочки до всего того гемора "что там нужно". Я лишь "трюк" показал, рабочий

              Не в тему показал. Мы тут толкуем про невозможность, как минимум, задекларировать в паскале процедуру с переменным числом параметров, а ты предлагаешь неполноценные костыли.

              Цитата
              Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi?


              Примерно столько:
              ExpandedWrap disabled
                string s1 = "Now is the time...";
                string s2 = "for all good men...";
                string s3 = s1 + s2;
                cout << "s3 is " << s3 << endl;
                Цитата Alex Forth
                Примерно столько:
                string s1 = "Now is the time...";
                string s2 = "for all good men...";
                string s3 = s1 + s2;
                cout << "s3 is " << s3 << endl;

                Садись два ©низачот - многа буков. Кстати скока их осталось за бортом iostream классов?
                Во что они превратились после перемола супер-компилером со всеми оптимайз фичами?
                Можно их в студию, посмотреть? :)
                  Цитата N0P @
                  Садись два ©низачот - многа буков. Кстати скока их осталось за бортом iostream классов?
                  Во что они превратились после перемола супер-компилером со всеми оптимайз фичами?

                  ПРичем тут iostream? Ты спрашивал:
                  Цитата N0P
                  Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi?

                  Тебе показали:
                  ExpandedWrap disabled
                    s3 = s1 + s2
                  Тебе нужно еще меньше буковок? :wacko:
                    Цитата Hryak
                    ПРичем тут iostream? Ты спрашивал:
                    Цитата (N0P)
                    Кстати скока телодвижений нужно чтоб организовать в С++ подобную фишку, как соединение "+" строк што у Delphi?

                    Да я спрашивал.. и вопрос остаеться открытым.
                    Интересно посмотреть на "как это с нуля".
                    Поскольку я приводил тестированые полностью готовые версии прог (exe/dll), скомпилить которые вы можете например консольным компилятором dcc32.exe +модуль system.dcu (и не за горами, надеюсь dcc64.exe=)
                    кстати скока выкрутасов с def и lib файлами нужно в C++ чтоб уже испечь исполняемый файл?
                      Цитата N0P @
                      Интересно посмотреть на "как это с нуля".

                      s=s1+s2;
                      это с нуля.

                      Добавлено
                      Цитата N0P @
                      кстати скока выкрутасов с def и lib файлами нужно в C++ чтоб уже испечь исполняемый файл?

                      ммм.. нисколько. если конечно не решил использовать своиже либы или длл-ы. но и тогда выкрутысов немного.
                      Сообщение отредактировано: LuckLess -
                        Цитата 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 классов?
                        Во что они превратились после перемола супер-компилером со всеми оптимайз фичами?
                        Можно их в студию, посмотреть? :)

                        Ты можешь на чем то одном остановится?
                        Просил оператор "+" для строк - ты его получил. Нафига сьезжать на стримы? Это уже другой боян.
                        Что касается сгенеренного кода, то его действительно не мало. Кроме основной функциональности добавляется код для ексепшенов и трайтсов.
                          Цитата N0P @
                          Интересно посмотреть на "как это с нуля".

                          Не много :).
                          А в Дельфи с нуля такое реализуемо? Скажем складывать строку с числом(произвольным объектом)? :lol:
                            Цитата archimed7592 @
                            Скажем складывать строку с числом(произвольным объектом)?

                            ну.. например такое:
                            ExpandedWrap disabled
                              begin
                                a := '10';
                                b := 10;
                                с := a + b;
                              end;
                            да, вполне реализуемое..
                              Цитата LuckLess
                              s=s1+s2;
                              это с нуля.

                              И ты садись - два.
                              C нуля это - с функции main и до последней скобочки }. Там ж вроде как немного буков то писать.
                              Цитата
                              если конечно не решил использовать своиже либы или длл-ы.

                              как раз вот и решил написать exe и dll, на С++. На дельфи же я показал.
                              Цитата
                              но и тогда выкрутысов немного.

                              на скока их немного, а то у мене примеры компиляться в командной строке типа
                              ExpandedWrap disabled
                                dcc32 hello.pas

                              и вуаля я уже вижу hello.exe или msvcrt.dll :)

                              Цитата
                              Просил оператор "+" для строк - ты его получил.

                              Мене интересуют через какие "костыли" они получены. А то малоли - мож они куда более неполноценные, чем предложеный "грязный хак", решения одной незначительной printf проблемы.. Удобно ведь кстати - согласитесь, и многа буков писать не надо, тем более храня их в голове. :yes:
                                Цитата N0P @
                                А то малоли - мож они куда более неполноценные, чем предложеный "грязный хак", решения одной незначительной printf проблемы..

                                ты грабли своим кому кому то подожил.
                                для импорта сишных функций с переменным числом параметров есть директива varargs.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 53 54 [55] 56 57 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1599 ]   [ 15 queries used ]   [ Generated: 11.08.25, 00:16 GMT ]