[pascal/c++]taki problemik

0

Witam
Mam problem z wyborem (i też realizacją) pewnej rzeczy. Tematem problemu jest: połączyć program w pascalu (pod BP) z programem w c++ (pod Dev-c++).
Do wyboru nasunęły mi się takie dwa rozwiązania:

  1. Podlinkować obj z programem z pascala do c++. Problem: jak/czym skompilować pascala do obj?
  2. Utworzyć w pascalu DLL i jego podłączyć do c++. Problem: jak zrobić w pascalu DLL który by ruszał pod nowszymi windowsami (w obecnej, szablonowej metodzie windows zgłasza że "Program <nazwa biblioteki="biblioteki"> nie może być uruchomiony pod windowsem" mimo kompilacji przy target:windows)

Gdyby ktoś miał pomysł jak to rozwiązać (czy miałby jakiś inny pomysł na rozwiązanie inne niż przepisywanie pascala do c++ lub w drugą stronę) to było by miło ;-)

0

Użyć FreePascala...

0

a wiesz może czy on jest w pełni kompatybilny? chodzi mi głównie o wstawki asm

0

O ile pamiętam to FPC jest oparty o klamoty gnu, pewnie z -mintel łyknie wstawki z cywilizowaną składnią. Inna sprawa, że ten kod jest najpewniej 16-bitowy, średnio coś takiego pójdzie na 32/64bit.

0

tam bitowość nie jest tu akurat problemem. obadam tego fpc. thx

0
Świętowit napisał(a)

O ile pamiętam to FPC jest oparty o klamoty gnu,

Tylko częściowo, a najnowsza wersja już prawie wcale.
Z pewnością nie jest i nigdy nie był to żaden frontend na gcc, tylko od zawsze całkowicie niezależny kompilator.

pewnie z -mintel łyknie wstawki z cywilizowaną składnią.

wstawki z cywilizowaną składnią są przez

{$ASMMODE INTEL}

większą zgodność z Borland/Turbo Pascalem daje

{$MODE TP}

ale to wyłącza wszystkie nowinki składniowe, więc na dłuższą metę byłoby niezalecane.
Uważaj też na rozmiar integera: w niektórych $MODE jest dwubajtowy (jak w TP) a w innych cztero (jak w Delphi). Najlepiej używać odpowiednio smallint i longint.

Valdemart napisał(a)

a wiesz może czy on jest w pełni kompatybilny? chodzi mi głównie o wstawki asm

Nie bardzo sobie wyobrażam, żeby wstawki asemblerowe ot tak przeżyły przeskok na nowszą architekturę. Chyba że najbardziej trywialne, ale toby znaczyło że od początku były niepotrzebne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1