Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: Ваш выбор ???
Delphi 38 59.38%
C++ 26 40.63%
Голосовавшие: 64. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 19:04   #61
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Я так понимаю, что делфийский линкер просто сам все эти данные берёт из dll, что вероятно увеличивает время линкования.
Поправьте меня, в чем неправ, т.к. с dll почти не работал.
Delphi вообщен не нужен LIB файл, DLL файл во время компиляции программы может и не существовать вообще, даже в случае статического импорта.
rpy3uH вне форума Ответить с цитированием
Старый 27.03.2009, 19:39   #62
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
Delphi вообщен не нужен LIB файл, DLL файл во время компиляции программы может и не существовать вообще, даже в случае статического импорта.
Вообще в С++ это называется неявная загрузка DLL. Вроде как при компиляции в коде жестко заносится смещение адреса функции в DLL относительно её начала, т.е. искать нужную функцию не надо, адрес высчитывается относительно начала DLL. Следовательно при изменении DLL будет ошибка, если адрес функции изменится. А как в Delphi это происходит у меня одно предположение - используется тот же GetProcAddress, но самому это писать не надо. Иначе без наличия DLL и LIB я не представляю как это можно сделать
Если я прав, то в большой библиотеке сишное подключение будет работать быстрее, т.к. GetProcAddress не будет "бегать" по экспортируемым функциям и сравнивать их имена с искомым.
ЗЫ. где-то давно это читал, так что может чего и попутал)
pu4koff вне форума Ответить с цитированием
Старый 27.03.2009, 19:47   #63
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Иначе без наличия DLL и LIB я не представляю как это можно сделать
чтобы импортировать функцию статически (т.е. добавить её в таблицу импорта) достаточно знать только её имя (реже ординал) и имя DLL файла.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Если я прав, то в большой библиотеке сишное подключение будет работать быстрее, т.к. GetProcAddress не будет "бегать" по экспортируемым функциям и сравнивать их имена с искомым.
ЗЫ. где-то давно это читал, так что может чего и попутал)
В Delphi при статическом импорте функций, будет тоже самое что и в С++ и с использованием LIB файлов.

Последний раз редактировалось rpy3uH; 27.03.2009 в 19:57.
rpy3uH вне форума Ответить с цитированием
Старый 27.03.2009, 20:14   #64
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
В Delphi при статическом импорте функций, будет тоже самое что и в С++ и с использованием LIB файлов.
Значит необходимость в lib-файлах - бредовая затея)
pu4koff вне форума Ответить с цитированием
Старый 27.03.2009, 20:25   #65
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

LIB файлы нужны. Они нужны для более "навороченных" целей (если так можно выразиться). а фактически, при повседневном использовании нафих не нужны.
rpy3uH вне форума Ответить с цитированием
Старый 28.03.2009, 13:59   #66
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ох, ну и разгорелась же тема!
Я вообще не понимаю, как можно сравнивать такие языки как Delphi или C++. Разве можно сравнить скажем Английский с Немецким. Одно и то-же можно одинаково хорошо сказать на обоих языках.

На счёт громоздкости кода:
Ну если вы программируете в Delphi 7, то это может и стать для вас проблемой, однако в Delphi 2005 и выше эта проблема уходит, т.к. компилятор сам подставляет в нужный момент именно то-что нужно.
Для тех, кто не знаком с версиями выше 7-ой: пишете begin, нажимаете enter и карретка переходит на следуюшую строку а под неё подставляется end; Пишете For, автоматом подставляется to и do а при помощи tab можно ввести остальные параметры.
К тому-же есть функции рефакторинга, которые позволяют быстро переименовывать переменные, выносить методы и многое другое.

Я не знаю, какие компиляторы использует большинство программистов C++ , но явно не настолько отсталые, как Delphi 7. она ведь 2002-ого года. Пора-бы уже переходить на CodeGear-ы, Borland developer studi-и и т.д.

На счёт Dll билиотек, я не использую статическое подключение с тех пор, как устроил здесь истерику (тема)
Altera вне форума Ответить с цитированием
Старый 28.03.2009, 14:02   #67
GHost007
Ich Sing Nicht
Пользователь
 
Аватар для GHost007
 
Регистрация: 15.03.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Altera
Разве можно сравнить скажем Английский с Немецким. Одно и то-же можно одинаково хорошо сказать на обоих языках.
английский Forever!
He laughs best who laughs last.
GHost007 вне форума Ответить с цитированием
Старый 28.03.2009, 14:38   #68
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Я вообще не понимаю, как можно сравнивать такие языки как Delphi или C++
Ты не прав, это однотипные языки.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 28.03.2009, 21:53   #69
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Что короче. Это:
Код:
procedure foo(a: integer; var b: integer);
var
  i: integer;
begin
  b := 0;
  for i := 0 to a do
  begin
    b := b + i;
  end;
end;
Или это:
Код:
void foo(int a, int &b)
{
  b = 0;
  for (int i = 0; i <= a; ++i)
  {
    b += i;
  }
}
А причем здесь "короче"? Разве можно сравнивать языки по количеству символов на алгоритм? По моему, это просто глупо: на одном языке (особенно специализированном) можно двумя строчками записать то, что на другом потребует сотни строк и наоборот, пытаясь на первом языке сделать какой-нибудь простенький график, можно потратить часы и набить мозоли на пальцах, а на втором на это уйдет 10 минут и потребует минимум кода.
Лично мне не нравится синтаксис C/C++, но это не значит, что я имею что-то против этих языков и уж тем более нигде об этом не говорю - это абсолютно личное дело каждого. И говорить нужно не "Delphi или C++", а "Delphi и C++" (и все другие языки).

P.S. А короче и быстрее всего будет так B := Round((A / 2) * (A + 1)). Главное - умение программировать, а конкретный язык - дело второе.
Jeni вне форума Ответить с цитированием
Старый 28.03.2009, 22:35   #70
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Прикольно наблюдать баталии, на одних форумах защищают С/С++ на других делфи )))
Цитата:
По теме: ТС ты это завел ради холивара? ну разве не понятно, что все правакационные темы сводятся к флуду/холливару ?!


Если реально интересно, то попробуй оба языка-что понравится, на том и пиши. А то тема переросла , извините , в меренье пис**ми, честное слово
Не спорю, просто, GHost007, не может ответить на вопросы никак.

З.Ы. GHost007 че то ты загнул со списком недостатков, а аргументировать их толком и не смог.

Цитата:
Просто ушли в сторону от темы. Вопрос по идее состоит в том, стоит ли учить делфи или лучше С++, чтобы не оказалось, что программеры на этом языке уже не нужны и он уже стал историей. По крайней мере я так понимаю перспективу языка
Вот человек понял суть вопроса и темы в целом.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется программист Delphi или VB или C#. Анна Долбилина Фриланс 11 04.08.2008 10:04
delphi 9 или delphi 2005 вопрос о работе Doget Компоненты Delphi 0 07.07.2008 08:50
Перспективы развития рунета, заметки и некоторые выводы. Alar Свободное общение 13 22.01.2008 16:05
delphi или C++ sergey07 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 10.11.2007 20:45