Сборка FreePascal в Delphi ?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: Сборка FreePascal в Delphi ?

Сообщение Максим » 26.09.2009 16:20:12

defecator
Я хотел бы ещё раз попросить вас выражать свои претензии более конкретно, а ещё лучше - в виде сообщений об ошибках.

defecator писал(а):Если честно, я много раз пытался работать в Lazarus, но я, видимо, испорчен средой Delphi, и от среды Lazarus меня просто тошнит.
Без обид, если что. :lol:

А я, может быть, считаю вот так, например:
Если честно, я много раз пытался работать в Delphi, но я, видимо, испорчен средой Lazarus, и от среды Delphi меня просто тошнит.
Без обид, если что. :lol:

И, заметьте, это утверждение не менее верное, чем ваше. :mrgreen:

Вы не находите такой разговор несколько контрпродуктивным?
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Сборка FreePascal в Delphi ?

Сообщение defecator » 26.09.2009 16:22:21

скалогрыз писал(а):а смысл кромсать "помойку", если есть исходники Borland Pascal-я :?


сам компилятор Borland Pascal написан на 100% на ассемблере, под x86,
и особенного смысла копаться в нем нет ни на грамм. Вот сама среда написана на паскале, на TurboVision (она тоже есть в сорцах). Но зачем это все нужно сейчас ?

Тем более, что по возможностям языка BP7 очень сильно отстал. Лет так 12.

Добавлено спустя 2 минуты 46 секунд:
Максим писал(а):Я хотел бы ещё раз попросить вас выражать свои претензии более конкретно, а ещё лучше - в виде сообщений об ошибках


Где я выражаю претензии ?? Да вы что ? :D
И в мыслях такого не было, Я просто высказываю свое мнение по итогам погружения в исходники компилятора. И более - ничего.
defecator
новенький
 
Сообщения: 43
Зарегистрирован: 07.09.2009 10:17:01
Откуда: Подольск

Re: Сборка FreePascal в Delphi ?

Сообщение Attid » 29.09.2009 07:36:21

defecator писал(а):И более - ничего.

я бы сказал что у вас даже подпись холиварная, и она может наносить моральный ущерб некоторым пользователям.
может стоит вести себя более миролюбиво ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Сборка FreePascal в Delphi ?

Сообщение defecator » 29.09.2009 09:00:49

Подпись может казаться холиварной только для тех, кто сам участвует в холиварах и склонен их затевать :-)
Вы же про мой ник ничего не сказали :-)
Я веду себя очень даже миролюбиво - не ссорюсь, совета спрашиваю, примус починяю :-)

Код, который привел Скалогрыз, не помог :cry:
Этот код не помог никак - компилятор упорно зависал либо выкидывал internal error.

скалогрыз писал(а):
Код: Выделить всё
function IndexWord(Const buf: array of word;len:LongInt;b:word):LongInt; overload;
begin
  for i := 0 to len - 1 do
    if buf[i]=b then begin
      Result := i;
      Exit
    end;
  Result:=-1;
end;


ах, да! и конечно же:
Код: Выделить всё
function IndexWord(Const buf;len:LongInt;b:word):LongInt; overload;
begin
  Result:=IndexWord( PWordArray(@buf), len, b);
end;



Пришлось временно обойтись счетчиком слов. Криво и стыдно так делать, не разобравшись, но "причесывание" оставлю на попозже, так как нужно получить работающую версию компилятора, которая будет эталонной в последущей модификации.

Код: Выделить всё
function IndexWord(Const buf;len:LongInt;b:word):LongInt;
var
  psrc,pend : pword;
  Position : LongInt ;
begin
.............
    Position := 0 ;
    while DWORD(psrc) < DWORD(pend) do
      begin
        if Word(psrc^) = b then
          begin
            result:= Position ;
            exit;
          end;
        DWORD(pSrc) := DWORD(pSrc) + SizeOf(b) ;
        Inc(Position) ;
      end;
  result:=-1;
defecator
новенький
 
Сообщения: 43
Зарегистрирован: 07.09.2009 10:17:01
Откуда: Подольск

Re: Сборка FreePascal в Delphi ?

Сообщение sign » 30.09.2009 10:40:34

Delphi 2010
Код: Выделить всё
function IndexWord(Const buf; len:LongInt; b:word): LongInt;
var i: LongInt;
    P: PWordArray;
begin
  P := @buf;
  for i := 0 to len - 1 do
    if P[i] = b then Exit(i);
  Result := -1;
end;

sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Сборка FreePascal в Delphi ?

Сообщение defecator » 30.09.2009 17:28:52

sign, спасибо ! Ты сэкономил мне время !

Вопрос.
Компилятор-то работает, пыхтит, но для меня является загадкой, почему не поддерживается "class" ?
TObj = object - работает, а TObj = class - пишет, что неизвестный идентификатор "class".

В чем может быть дело ?
defecator
новенький
 
Сообщения: 43
Зарегистрирован: 07.09.2009 10:17:01
Откуда: Подольск

Re: Сборка FreePascal в Delphi ?

Сообщение sign » 30.09.2009 18:08:54

Сложно сказать, у меня всё в порядке
Код: Выделить всё
unit Unit3;

interface

type
   TObj =class

   end;
implementation

end.

Компилируетс я без ошибки.
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Сборка FreePascal в Delphi ?

Сообщение Mr.Smart » 30.09.2009 19:43:39

defecator
В коде добавте директиву:
Код: Выделить всё
{$mode objfpc}

или
Код: Выделить всё
{$mode delphi}
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Сборка FreePascal в Delphi ?

Сообщение defecator » 02.10.2009 12:04:25

Вопрос по существу:

Можно ли как-то добиться, чтобы в выходной ASM-файл попадал не только код моей программы,
но и все связанные с ней (вызываемые из моей программы) подпрограммы RTL (и других библиотек) ?

То есть сейчас в выходном файле test.asm присутствует вызов:
Код: Выделить всё
   bl   fpc_round_real


А сама подпрограмма "fpc_round_real" отсутствует. Понятно, что она есть в другом файле (system.asm),
но хотелось бы, чтобы она была в листинге моей программы.

И второй вопрос.
В коде компилятора есть оператор "><", комментарий к нему: ">< is for a symetric diff for sets"

Как можно это представить для компилятора Delphi ? Сейчас я сделал просто операцию "-" вместо "><"
defecator
новенький
 
Сообщения: 43
Зарегистрирован: 07.09.2009 10:17:01
Откуда: Подольск

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru