Szybkość działania aplikacji :(

0

Mam pewnien problem i nie wiem czy da się go rozwiązać.

Dopiero co zainteresowałem się programowaniem i zaczynam "coś tam" pisać tak więc <ort>zaczęłem </ort>od pascala, ale mam problem z kompilatorem.
Kompiluje program w Turbo Pascalu i mi w nim przeszkadzają 2 rzeczy

  • dlugosc nazwy pliku, ktora nie moze byc wieksza niz 8 znaków
  • szybkość działania aplikacji, skompilowane programy straszanie wolno chodza!

Wiem że free pascal rozwiązuje problem długości nazwy, <ort>poza tym </ort>próbowałem w nim skompilowac <ort>pewnien </ort>program i działa on normalnie , szybko.
Czy jest jakiś sposób na te dwa problemy w TP ? O wiele bardziej wole TP od FP dlatego chciałbym jakoś rozwiązać ten problem a nie przeniesc sie na FP .

<ort>poza tym </ort>mam drugie pytanie
Jesli jeszcze ;-) piszecie coś w pascalu to jakiego kompilatora używacie?

0

Czemu wolisz TP od FP? Piszę głównie aplikacje okienkowe i używam do tego Delphi. W Delphi również możesz pisać aplikacje konsolowe. Ze starych kompilatorów do Pascala polecam ci Free Pascal (ponieważ jest obsługa myszki, programy działają na różnych systemach np. windows, linux) lub Turbo Pascal (bez obsługi myszki, bez aplikacji na linux, ale łatwiejsza kompilacja wstawek assemblera, które będą ci potrzebne głównie do grafiki). Z nowszysch polecam DevPascal i Delphi.

0

Chodzi o delphi 7.0 ?
Czy jakbym skompilował program pisany i testowany w TP to delphi by go równie dobrze skompilowało?
Mógłbym tam używać wszystkich typów, procedur systemowych , funkcji systemowych i wszystkiego co się da w TP???

0

Pewnie inne moduły musiał byś dać w uses i metody mogły by mieć inne nazwy, ale w mojej opinii skoro można zrobić to samo w dwóch różnych kompilatorach tylko inaczej się coś nazywa to lepiej wziąć ten kompilator z przyszłością abyś nie musiał sie już przerzucać, a tak to kiedyś aby zrobić coś większego będziesz musiał od nowa poznawać nazwy metod na przykład. No albo weź freepascala poza tym że nazwy mogą być dłuższe i programy szybciej działają to ma inne zalety (duże tablice, obiektowość i masę innych rzeczy, jak Delphi)

0

Przeciez w TP mozna napisac obsluge myszki :> a delphi ma wiele roznic, ktore nie zawsze mozna przeskoczyc. Np. nie ma instrukcji port, niektore typy sie roznia.

0

długie nazwy plików pod DOS - http://download.4programmers.net/Dir95.zip ; wystarczyło trochę na google poszukać...
szybkość działania programu DOSowego - wciśnij Num Lock, gdy jego okno jest aktywne.

co nie zmienia faktu, że TP jest z epoki programu łupanego, zarówno edytor, jak i kompilator, i używanie go jest przeważnie wielkim krokiem wstecz.

@Autre:

Turbo Pascal (bez obsługi myszki, bez aplikacji na linux, ale łatwiejsza kompilacja wstawek assemblera, które będą ci potrzebne głównie do grafiki)

obsługę myszki masz - standardowo dołączany do tp moduł drivers. aplikacje na linuksa? przecież to sprawa kodu źródłowego, w dużej mierze niezależnego od kompilatora. assembler do grafiki? a bgi? pewnie uderzasz do trybu chronionego - bp7 potrafi i to.

0

Co do rozważań: czy pisać w TP czy nie, odpowiedź brzmi - kategorycznie nie, bo nie ma sensu - w celu dalszych wyjaśnień poczytaj dyskusję pod artykułem.

0

Pobrałem, tak dla ciekawości dev-pascala i otworzyłem w nim kod źródłowy programu, który pisałem i testowałem pod TP. Program skompilował się bez problemów, aplikacja wreszcie działa normalnie ( tzn. szybko ), jeszcze nie próbowałem ale <ort>na pewno </ort>będę mógł używać długich nazw plików ( dev-pascal ma kompilator freePascala ).

Jedno mnie dziwi - ten sam program skompilowany pod TP zajmuje 4 kB, a pod dev-pascalem 20 kB. Nie żeby mi to nie pasowało, ale tak z ciekawości pytam.

0

Wiele zależy od opcji kompilacji. Po pierwsze, skompilowane pliki wykonywalne DOS a Windows mają inne nagłówki. Po drugie plik dla Windows może jeszcze mieć załączone zasoby (ikony, bitmapy, tablice napisów, itp).

Czasem też dodatkowe biblioteki mogą być włączane do pliku exe. W Delphi na przykład w aplikacji okienkowej samo załączenie tych bibliotek powoduje przytycie pliku wykonywalnego z kilkunastu kilobajtów do ponad 300. Ale dzięki temu aplikacja nie wymaga zewnętrznych plików, niektórych nie dołączanych do systemu operacyjnego, a zatem wymagających osobnego wgrania do systemu.

Poza tym, przejmujesz się tym, że program ma 20kB, jak masz zapewne w komputerze nie mniej niż 256MB RAM i powyżej 60GB dysku?

0

Nie chodzi o to że się przejmuje ( mam 2 gb ramu i 100 gb wolnego miejsca na dysku ). Ale troche dziwne mi się wydało że ten sam kod, a inne rozmiary exe'ków.

0

Tak jak powiedzial Szczawik: wszystko zalezy od bibliotek.

0

Weź też pod uwagę, że choć wysokopoziomowo kod jest taki sam (powiedzmy funkcje write/writeln), niskopoziomowo rezultat może być kompletnie inny (w DOS może to być potencjalnie wywołanie przerwania 21h, funkcji AH=09h, w Windows wywołanie WriteFile z uchwytem standardowego wyjścia, a w Linux coś zupełnie innego, pochodznego systemowej funkcji printf).

Tak na prawdę na tym polega programowanie wysokopoziomowe - piszesz co, a nie jak, ma być zrealizowane. Zadaniem kompilatora jest to przetłumaczyć na format wspierany w danym środowisku.

0

A jak z dyrektywami kompilatora? W dev-pascalu ( czy FreePascalu ) moge uzywac dyrektyw ktore uzywalem w TP ? Czy sa moze jakies inne ?

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