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

Страницы: (117) « Первая ... 51 52 [53] 54 55 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата Бобёр @
    сам то ты можешь создать процедуру с переменным числом параметров?

    На паскале не могу.
    Раз такую простую по своей функциональности процедуру написать невозможно, то может стоит признать, что вовсе это не процедура, а что-то другое, хитро маскирующееся под процедуру?

    Цитата
    Не понял, что вы хотели сказать.

    Я сравнил документацию от разработчика с газетой "правда", и посоветовал вам, более критически относится к документации. 8-)
    Сообщение отредактировано: Alex Forth -
      Цитата Alex Forth @
      Раз такую простую по своей функциональности процедуру написать невозможно, то может стоит признать, что вовсе это не процедура, а что-то другое, хитро маскирующееся под процедуру?

      Оно объявлено как процедура. И является процедурой (целой кучей процедур).
      Эдакий хитрый препроцессор.
        Цитата
        Эдакий хитрый препроцессор.

        :yes:
        я уже говорил о том, что способ вызова stdcall принципиально не может передавать переменное количество параметров.
          Цитата wind @
          Оно объявлено как процедура. И является процедурой (целой кучей процедур).
          Эдакий хитрый препроцессор.

          Так значит в Паскале можно хотябы обьявить процедуру с переменным числом параметров?
          Не обойти эту проблему, а сделать подобно printf ?
            Цитата wind @
            Оно объявлено как процедура.

            где?
            вообще можно ссылку на источник? компиляторов паскаля много, ты со всеми "создателями" знаком?:)
              Цитата Бобёр @
              я уже говорил о том, что способ вызова stdcall принципиально не может передавать переменное количество параметров

              Может, если запихнуть их в массив и передавать ссылку на него. В java именно так реализовали varargs.

              Цитата daevaorn @
              где?

              В коробке с дистрибутивом.

              Цитата Alex Forth @
              Так значит в Паскале можно хотябы обьявить процедуру с переменным числом параметров?
              Не обойти эту проблему, а сделать подобно printf ?

              Нельзя. О том и речь, собственно.
              Сообщение отредактировано: wind -
                Цитата wind @
                Цитата Бобёр @
                я уже говорил о том, что способ вызова stdcall принципиально не может передавать переменное количество параметров

                Может, если запихнуть их в массив и передавать ссылку на него. В java именно так реализовали varargs.

                Это костыль, ктому же writeln не использует такой подход.
                  Цитата Alex Forth @
                  Это костыль

                  Конечно, костыль. Но это лучше, чем ничего.
                    Цитата Бобёр @
                    я уже говорил о том, что способ вызова stdcall принципиально не может передавать переменное количество параметров.

                    ну почему... можно неявно передавать количество параметров чтобы далее чистился стек. как тотже this неявно передается.
                      Цитата wind @
                      Оно объявлено как процедура.

                      Вау. А можно на декларацию взглянуть???
                        Цитата wind @
                        Нельзя. О том и речь, собственно.

                        Вот я и предлагаю, не считать wtriteln процедурой, поскольку такую процедуру на паскале написать не представляется возможным :)
                          Цитата jack128 @
                          А можно на декларацию взглянуть?

                          Можно. Откройте интерфейс модуля System и взгляните.
                            Цитата wind @
                            Можно. Откройте интерфейс модуля System и взгляните.

                            Открывал. Не нашел. Можно ткнуть носом?
                              Цитата
                              Может, если запихнуть их в массив и передавать ссылку на него. В java именно так реализовали varargs.

                              можно ещё массив void* затолкнуть (или как бишь оно в дельфях зовётся то.. LPVOID или как то так?..)
                              Сообщение отредактировано: Бобёр -
                                Цитата Бобёр @
                                или как бишь оно в дельфях зовётся то..

                                Блин, я уже пятый раз повторяю наверно...

                                void* - это Pointer (указатель). Можно его использовать, но лучше array of const, чтобы избежать лишних преобразований.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 51 52 [53] 54 55 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0847 ]   [ 15 queries used ]   [ Generated: 12.08.25, 05:25 GMT ]