Jak robić programy pod win7 64 w pascalu?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
SchabMan
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 16 lut 2012, 14:15
Płeć: Mężczyzna
Wersja Ubuntu: 17.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Jak robić programy pod win7 64 w pascalu?

Post autor: SchabMan »

Napisałem kilka programów w pascalu na Ubuntu. Używałem Geany . Wszystko działa jak powinno, tylko nie da się uruchomić pod windowsem 64.
Wszędzie jest napisane, że fpc działa po 64 bitowymi systemami, więc myślę, że programy kompilowane nim też powinny. Tylko nie wiem co zrobić , żeby działały.
Awatar użytkownika
tristan
Wytworny Kaczor
Wytworny Kaczor
Posty: 333
Rejestracja: 04 maja 2005, 21:46
Wersja Ubuntu: 22.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: tristan »

No ale kompilujesz je oddzielnie pod Windows (ew. używasz jakieś opcje kroskompilacji (nie wiem czy fpc ma))? Bo jak chcesz odpalać skompilowane pod linuksem, to nie zadziała.
Awatar użytkownika
socrates
Wytworny Kaczor
Wytworny Kaczor
Posty: 289
Rejestracja: 15 maja 2011, 01:00
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: socrates »

pascal to zdaje sie jest pod dos a nie pod windows
Gentoo + XFCE
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: norvoles »

To już nie ma lepszych języków jak Pascal? :P
Awatar użytkownika
tristan
Wytworny Kaczor
Wytworny Kaczor
Posty: 333
Rejestracja: 04 maja 2005, 21:46
Wersja Ubuntu: 22.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: tristan »

socrates pisze:pascal to zdaje sie jest pod dos a nie pod windows
masz rację.... zdaje ci się :-P Są wersje pod różne systemy, pod Windows także.
Akurat Free Pascal, o którym mowa, to:
http://www.freepascal.org/ pisze:Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS, Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and Nintendo Wii. Additionally, JVM, MIPS (big and little endian variants) and Motorola 68k architecture targets are available in the development versions.
norvoles pisze:To już nie ma lepszych języków jak Pascal? :P
Lepszych raczej nie ma, są tylko popularniejsze :-P
Awatar użytkownika
socrates
Wytworny Kaczor
Wytworny Kaczor
Posty: 289
Rejestracja: 15 maja 2011, 01:00
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: socrates »

tristan chyba nie wiesz o czym piszesz wiec swoje madrosci zostaw dla siebie.
To sa istnieja kompilatory pascala pod rozne OSy to wszyscy wiedza.
Problem w tym ze jak autor kompiluje program do *.exe to ten program nie dziala na windowsie bo pascal tworzy programy dla trybu tekstowego DOS bez GUI.
Gentoo + XFCE
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: norvoles »

Lepszych raczej nie ma, są tylko popularniejsze :-P
Szczerze wątpię. Relikty lepiej zostawmy historii.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: ethanak »

a nikt nie wpadł na to, że pascal z założenia służył do nauki programowania i zapisu algorytmów, a nie do tworzenia aplikacji?
pozdrawia autor ' hello world' w pascslu 1900 :)
SchabMan
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 16 lut 2012, 14:15
Płeć: Mężczyzna
Wersja Ubuntu: 17.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: SchabMan »

W tej Geanie zaznaczyłem opcje, która mówi, że jakiś koniec wiersza ma odpowiadać Windowsowi, a poza tym to odpalając programy wyskakuje mi błąd zgodności - aplikacja jest niby 16, czy 32 bitowa i nie można jej uruchomić.

Nie będę używał innych "lepszych", czy "bardziej popularnych" języków, ponieważ Pascal wydaje mi się najbardziej przejrzysty. Nie będę się męczył z C++, żeby napisać symulator losowania w lotku na informatykę. (Wcześniej nie było problemów, bo do zeszłego miesiąca wciąż były jeszcze w pracowni komputery sprzed kilkunastu lat, a teraz na szczęście, lub nie wymieniono je).
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: ethanak »

to jeszcze tupnij nogą. naprawdę, szczególnie w dziale "programowanie" to skutkuje. zaraz przyjdzie moderator i zgani tych, którzy nie rozumieją dylematów wybitnego programisty!
SchabMan
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 16 lut 2012, 14:15
Płeć: Mężczyzna
Wersja Ubuntu: 17.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: SchabMan »

<TUP!>
No i gdzie ten moderator?

A tak na serio, to przyznaję się! Jestem po prostu zbyt leniwy, żeby od podstaw uczyć się jakiegoś C++. Próbowałem kiedyś, ale nie wyszło. Zgubiłem kompilator pośród masy innych ikonek i nigdy nie mogłem się zdobyć na poszukiwania.

Pozostaje mi więc szukać odpowiedzi, dlaczego moje Pascalowe twory nie działają pod siódemką i ucieszyłbym się bardzo, gdyby mi ktoś pomógł.
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: norvoles »

Nie będę używał innych "lepszych", czy "bardziej popularnych" języków, ponieważ Pascal wydaje mi się najbardziej przejrzysty.
No właśnie: wydaje Ci się.
Jak chcesz mieć normalny, prosty do nauczenia i potężny język programowania to się ucz Pythona, a nie jakichś reliktów.
SchabMan
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 16 lut 2012, 14:15
Płeć: Mężczyzna
Wersja Ubuntu: 17.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: SchabMan »

Co do Pythona, to czy ma on komendy, których zastosowanie jest równie oczywiste jak w Pascalu? Chodzi mi głownie o nazwy, czy są one po prostu słowami, które mają w jak najprostszy sposób odzwierciedlać ich użycie?
Jeśli tak, to proszę o nazwę jakiegoś wygodnego środowiska i od razu poszukam sobie jakiegoś kursu.
Awatar użytkownika
tristan
Wytworny Kaczor
Wytworny Kaczor
Posty: 333
Rejestracja: 04 maja 2005, 21:46
Wersja Ubuntu: 22.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: tristan »

socrates pisze:tristan chyba nie wiesz o czym piszesz wiec swoje madrosci zostaw dla siebie.
Ciekawe jest, że im ktoś mniej wie, tym więcej pyszczy.
socrates pisze: Problem w tym ze jak autor kompiluje program do *.exe to ten program nie dziala na windowsie bo pascal tworzy programy dla trybu tekstowego DOS bez GUI.
No jeżeli skompiluje pod DOS, to tak. Może również skompilować pod Win32 albo Win64. W przypadku Windows Seven 64bit to nawet nie ma możliwości, żeby działało mu to skompilowane pod DOS, bo nie ma już tam trybu 16bit.

A czy GUI to już kwestia użytych bibliotek. W przypadku Windows, może mieć GUI pisane w gołym WinApi, może skorzystać z innych bibliotek. Ba! Może skorzystać nawet z Lazarusa, czyli IDE+RAD i całych delphiopodobnych bibliotek LCL. W przypadku Linuksa analogicznie, nawet z dokładnością do linuksowej wersji Lazarusa i linuksowego LCL-a. Choć też obowiązku z nich korzystania nie ma.

Domyślnie, jakiś prosty programik będzie działał w trybie tekstowym, czy to trybie tekstowym DOSa, czy to trybie tekstowym Windowsa czy to trybie tekstowym Linuksa.

Mam wrażenie, że mylisz tryb tekstowy Win32/Win64 z trybem DOS (16bit) i samym DOSem (który był 13 lat temu w linii 3.x, 95, Me, a który w linii NT/2000/XP/Vista/Seven już występował tylko jako 16bitowy tryb dosa, dla zgodności z dawnymi aplikacjami dosowymi i który w wersjach 64bit Sevena czy 8 nie występuje już wcale).
norvoles pisze:
Lepszych raczej nie ma, są tylko popularniejsze :-P
Szczerze wątpię. Relikty lepiej zostawmy historii.
No to taki trochę żart był. Choć w sumie C, również dość wiekowe, do dzisiaj jest bardzo w użyciu. C++ również.
ethanak pisze:a nikt nie wpadł na to, że pascal z założenia służył do nauki programowania i zapisu algorytmów, a nie do tworzenia aplikacji?
A to akurat wiesz... Dlaczego powstał to jedno, a że na przełomie wieków pod postacią Delphi przeżył swoje złote lata (do dzisiaj sporo rzeczy się programuje i jakoś C++ Builder nie wygrał z Delphi i dopiero mniej więcej od 2005 różne dotnety zaczęły pomału wygryzać Delphi. A i nie wygryzły całkiem, bo sporo programistów wciąż programuje w Delphi, a i oferty pracy dla znających Delphi są.

Poza tym, nie mamy zupełnie wiedzy po co pytającemu ten temat. Może właśnie rozgryza metody numeryczne (moc materiałów do metod numerycznych, algorytmów itp. bazuje albo na Pascalu albo na pseudokodzie zbliżonym składniowo do Pascala, choć faktycznie w te okolice dla odmiany Python się zaczyna wpychać).

Mam też wrażenie, że często dyskusje o wyższości Świąt Bożego Narodzenia nad.. tfu...o wyższości jednego języka nad drugim są akademickie. Jak ktoś zna jakieś narzędzie, to bywa prościej napisać coś tak, jak się zna niż szukać i uczyć się nowego. Czasami gdy robię coś w bashu i pytam kolegę o pomoc, bo utknąłem, to on znów mówi ,,nie wiem,nie znam, ja tam umiem to zrobić w perlu'' i mi robi. A ja dla odmiany nie znam perla i wolę podłubać w bashu, jak coś mam prostego machnąć niż wgryzać się w perla.
SchabMan pisze:W tej Geanie zaznaczyłem opcje, która mówi, że jakiś koniec wiersza ma odpowiadać Windowsowi,
No ale to tylko kwestia jaki znak/dwuznak w pliku oznacza koniec wiersza. Dla FreePascala to najprawdopodobniej w ogóle nie ma żadnego znaczenia i radzi sobie z dowolnym rozwiązaniem. Znaczenie ma takie, że jak np. pod Windowsem sobie otworzysz w jakimś prymitywnym notatniku (bo bardziej złożone IDE też sobie poradzą z dowolną wersją), to będą linie dobrze połamanie.

SchabMan pisze: a poza tym to odpalając programy wyskakuje mi błąd zgodności - aplikacja jest niby 16, czy 32 bitowa i nie można jej uruchomić.
Ale po raz kolejny pytam, jak przygotowujesz wersję pliku dla Windows. Bo mam nieodparte wrażenie, że kompilujesz pod Linuksem, dodajesz .exe i masz nadzieję na odpalenie pod Windows. Mylę się?
SchabMan pisze:Nie będę używał innych "lepszych", czy "bardziej popularnych" języków, ponieważ Pascal wydaje mi się najbardziej przejrzysty. Nie będę się męczył z C++, żeby napisać symulator losowania w lotku na informatykę.
No i słusznie, dyskusje o wyższości itp. zostawmy na potem. Jak odpowiada Ci pascal, to pisz.
SchabMan pisze: (Wcześniej nie było problemów, bo do zeszłego miesiąca wciąż były jeszcze w pracowni komputery sprzed kilkunastu lat, a teraz na szczęście, lub nie wymieniono je).
A widzisz, to może ty kompilujesz faktycznie pod tryb DOSa, a tam teraz masz Windows 64bit i w nim i owszem, trybu DOSa (16bit) nie ma.
Musisz skompilować w trybie Win32 albo wręcz Win64 (też będzie tekstowy bez użycia bibliotek do GUI, bo tekstowość/graficzność ma z tym związek zerowy). Opisz krok po kroku co robisz. Masz program w pascalu, np. helloworld.pas i co dalej robisz?
SchabMan pisze:Co do Pythona, to czy ma on komendy, których zastosowanie jest równie oczywiste jak w Pascalu?
To całkowicie odmienny język. Niepodobny w składni zupełnie do Pascala, a do tego obiektowy, więc należy myśleć obiektowo. Jak znasz Pascala i działa ci to co chcesz (a jedyny problem to wersja na Win64) i jest to kwestia zaliczenia przedmiotu to naprawdę sens zmiany języka jest znikomy. No chyba że i owszem, chcesz się przyszłościowo pouczyć czegoś nowego. Ale jak z C++ ci nie szło, to ja nie wierzę w szał ciał na punkcie Pythona.
bear7
Przyjaciel
Przyjaciel
Posty: 6686
Rejestracja: 20 sty 2009, 23:12
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Lokalizacja: pwd

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: bear7 »

tristan pisze:
socrates pisze:tristan chyba nie wiesz o czym piszesz wiec swoje madrosci zostaw dla siebie.
Ciekawe jest, że im ktoś mniej wie, tym więcej pyszczy.
Działa w obie strony... To, że komuś się wydaje, że wie więcej, nie oznacza, że może cwaniaczyć...

W ramach przypomnienia. Na forum utrzymujemy przyjazną atmosferę - jak ktoś uważa inaczej, to zachęcam do zapoznania się z regulaminem. Jeżeli ktoś coś ma do wyjaśnienia, to od tego jest PW.
SchabMan pisze:<TUP!>
No i gdzie ten moderator?
Na forum nie TUPIEMY... ;-)
O pomoc pytaj a forum, a nie przez PW.
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: norvoles »

To całkowicie odmienny język. Niepodobny w składni zupełnie do Pascala, a do tego obiektowy, więc należy myśleć obiektowo.
W pythonie można jak najbardziej pisać i myśleć proceduralnie. Nie ma żadnych ograniczeń.
Ale jak z C++ ci nie szło, to ja nie wierzę w szał ciał na punkcie Pythona.
Python jest znacznie prostszy od C++. Masz prostszą składnię oraz znacznie mniej niuansów i dziwności samego języka.
No to taki trochę żart był. Choć w sumie C, również dość wiekowe, do dzisiaj jest bardzo w użyciu. C++ również.
C i C++ są szeroko używane i rozwijane. To są żywe języki, mimo swojego wieku. Pascal to trup.

@SchabMan
Co do Pythona, to czy ma on komendy, których zastosowanie jest równie oczywiste jak w Pascalu? Chodzi mi głownie o nazwy, czy są one po prostu słowami, które mają w jak najprostszy sposób odzwierciedlać ich użycie?
Praktycznie każdy współczesny język tak ma.
Jeśli tak, to proszę o nazwę jakiegoś wygodnego środowiska i od razu poszukam sobie jakiegoś kursu.
Jako edytor może być Geany, czy praktycznie dowolny inny, który Ci pasuje.
Kompilatora nie ma, Python jest językiem interpretowanym.

Co do kursów:
https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie
http://docs.python.org/2.7/
SchabMan
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 16 lut 2012, 14:15
Płeć: Mężczyzna
Wersja Ubuntu: 17.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: SchabMan »

Dobra!
Nie proszę już teraz o nic, tylko o wytłumaczenie, jak używać cross kompilacji w moim przypadku oraz jak kompilować w trybie win64.
Może kiedyś założę temat "Czy Pascal jest jeszcze zdatny do użycia", albo "Na co wymienić Pascala", ale dziś.
Awatar użytkownika
BloodyMike
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 05 lut 2013, 13:26
Płeć: Mężczyzna
Lokalizacja: Warszawa

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: BloodyMike »

A nie możesz po prostu tego programu skompilować już pod windowsem? Po prostu przesłać treść kodu źródłowego na maila i skompilować w kompilatorze (masło maślane...) na windowsie? Przepraszam Cię za to, że rozwiązałem problem w sposób, który Cię nie zadowala, zwłaszcza, że dodam, iż C++ nie jest bardzo trudny. Wiem, bo niedawno zacząłem się go uczyć z FANTASTYCZNEJ (!) książki Jerzego Grębosza "Symfonia C++". Polecam, pozdrawiam i polecam się na przyszłość :)
Nie wszys­cy możemy być fi­lozo­fami, bo któż by świ­nie pasał? - S. Żeromski
Awatar użytkownika
BPS
Piegowaty Guziec
Piegowaty Guziec
Posty: 21
Rejestracja: 20 sty 2013, 19:45
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: BPS »

SchabMan pisze:Dobra!
Nie proszę już teraz o nic, tylko o wytłumaczenie, jak używać cross kompilacji w moim przypadku oraz jak kompilować w trybie win64.
Nie zajmowałem się pascalem od dobrych paru lat i nie wiem czy free pascal wogóle posiada cross compiler, ale z doświadczenia wiem że cross compiler nigdy nie jest częścią normalnego kompilatora, więc jeśli zainstalowałeś FPC z repozytorium to zainstalowałeś wersję która potrafi tworzyć programy TYLKO dla linuxa (wątpię aby były tam jakieś ukryte przełączniki umożliwiające kompilację dla innych platform).

Jeśli chcesz pisać programy w ubuntu a następnie kompilować je dla 64 bitowych windowsów najmniej kłopotliwym wyjściem będzie zainstalowanie Free Pascal Compilera dla windows w twoim Wine ;-)

Na potrzeby tego posta przeprowadziłem następujący eksperyment:
1. Pobrałem instalator free pascala w wersji 64 bitowej spod tego linku: http://ignum.dl.sourceforge.net/project ... -win64.exe
2. Zainstalowałem go w moim Wine
3. Napisałem program testowy:

Kod: Zaznacz cały

program test;
begin
	writeln('dziala');
end.
4. Skompilowałem poleceniem:

Kod: Zaznacz cały

wine /home/bps/.wine/dosdevices/c:/FPC/2.6.0/bin/i386-win32/ppcrossx64.exe test.pas
W wyniku tego powstał plik test.exe. Polecenie:

Kod: Zaznacz cały

file test.exe
pokazuje mi:

Kod: Zaznacz cały

test.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
rozumiem że x86-64 oznacza że stworzyłem program 64 bitowy dla windows :)

może to wystarczy na twoje potrzeby.

:boat:
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Jak robić programy pod win7 64 w pascalu?

Post autor: ethanak »

a gcc przypadkiem nie ma kompilatora paszczala?
ma, tylko do używania tego trzeba znać pascala jako język, a nie jeden historyczny dialekt z gotoxy i podobnymi funkcjami na czele.
chociaż nie neguję tego, że nauka lekko przejrzałych języków programowania ma jakiś sens. przykładowo programiści COBOLa zarabiają kilkanaście razy więcej niż programiści PHP;)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość