User Tag List

Показано с 1 по 10 из 28

Тема: Как сократить код эмулятора Z80 на PC

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    18.01.2005
    Адрес
    Калининград, Россия
    Сообщений
    110
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну это-то проверить легко. Запускаем filemon, ставим фильтр на delphi, топчем исходник и смотрим... Вряд ли он в память компилит (если компилит, я очень сомневаюсь).

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а почему и не в память, dcu (предкомпилированный модуль) не обновляется пока на нажать "компилировать", фокус в том, что происходит это мгновенно для исходника размером 2Мбайта текстов.

  4. #3

    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (ОФФ) Просто дельфийский компилятор - самый быстрый компилятор паскаля в мире. Кроме того сам паскаль проще чем C++ (нет препроцессора и шаблонов, порождающих мильоны строк левого текста), поэтому получается быстро. Предкомпиляцию ни разу не наблюдал (хотя она может и есть), но почему тогда борландовцы так же в C++Builder не сделали - там все не так, все по VC-шному медленно? Вывод (имхо): предкомпиляции нет, есть супербыстрый компилятор

  5. #4

    Регистрация
    18.01.2005
    Адрес
    Калининград, Россия
    Сообщений
    110
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexCrush
    Предкомпиляцию ни разу не наблюдал (хотя она может и есть), но почему тогда борландовцы так же в C++Builder не сделали - там все не так, все по VC-шному медленно?
    Это не по VC-шному, а по C++-ному. Ибо ты же сам сказал: "препроцессор, шаблоны". Предкомпиляцию сделать можно, наверное, но очень сложно и неоправданно.
    Цитата Сообщение от AlexCrush
    Вывод (имхо): предкомпиляции нет, есть супербыстрый компилятор
    Ну вывод не из этого следует. А то, что дельфовый компилятор просто очень быстрый - это факт. Объясняется существенной упрощенностью паскаля по сравнению с Си++.

  6. #5

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вообще-то если удалить dcu-файл на диске, то "сверх-быстрый компилятор от борланда" на полминутки, но задумается. 2 метра откомпилить на пол-секунды - нужен супер-компьютер какой-нибудь... Я скорее поверю в пред-компиляцию.

  7. #6

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А в С++ это невозможно, потому что в С++ как и в С нет модулей. ВСЯ программа на С - это один большой листинг, склеенный из #include, и компилироваться должен всегда весь и сразу. Ну нету там модулей. А по процедурам отдельно тоже сильно не разбежишься предкомпилировать.

  8. #7

    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ага. зато inline'ы, препроцессинг и глобальные оптимизации невозможны (блин, забыл сегодня потестить скорость компилятора с ком. строки)

  9. #8

    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от thims
    Это не по VC-шному, а по C++-ному.
    Да, согласен.

    Цитата Сообщение от thims
    Ну вывод не из этого следует.
    Это я неверно выразился. Я имел в виду, что вывод в моем размышлении - из всего вместе взятого, а не только из медленности C++Builder'a.


    Цитата Сообщение от Vladimir Kladov
    ВСЯ программа на С - это один большой листинг, склеенный из #include, и компилироваться должен всегда весь и сразу.
    Не верно. Вся программа - набор отдельных модулей *.cpp и/или *.c. В них, возможно, включены какие либо *.h или *.hpp файлы. Каждая такая cpp-шка с подставленными инклюдами компилируется ОТДЕЛЬНО! а затем делается link. при изменении одного модуля (есть такое понятие!) перекомпиливается только он, затем все линкуется.

    Все равно не верю в предкомпиляцию в Delphi. :-)
    Сорри за совсем-совсем офф...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •