Strona 1 z 2

Jak robić programy pod win7 64 w pascalu?

: 09 lut 2013, 15:37
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.

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

: 09 lut 2013, 16:12
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.

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

: 09 lut 2013, 16:33
autor: socrates
pascal to zdaje sie jest pod dos a nie pod windows

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

: 09 lut 2013, 16:35
autor: norvoles
To już nie ma lepszych języków jak Pascal? :P

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

: 09 lut 2013, 17:19
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

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

: 09 lut 2013, 17:44
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.

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

: 09 lut 2013, 17:49
autor: norvoles
Lepszych raczej nie ma, są tylko popularniejsze :-P
Szczerze wątpię. Relikty lepiej zostawmy historii.

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

: 09 lut 2013, 18:04
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 :)

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

: 09 lut 2013, 19:17
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).

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

: 09 lut 2013, 19:22
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!

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

: 09 lut 2013, 19:42
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ł.

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

: 09 lut 2013, 19:56
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.

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

: 09 lut 2013, 20:22
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.

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

: 09 lut 2013, 21:00
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.

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

: 09 lut 2013, 21:54
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... ;-)

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

: 09 lut 2013, 21:54
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/

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

: 09 lut 2013, 22:22
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ś.

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

: 10 lut 2013, 15:28
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ść :)

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

: 10 lut 2013, 15:39
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:

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

: 10 lut 2013, 16:08
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;)