Lazarus auf Raspberry Pi - welche Möglichkeiten?
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Lazarus auf Raspberry Pi - welche Möglichkeiten?
Ja hallo erstmal. Ich bin auf der Suche nach einer Programmierumgebung und Programmiersprache für Raspberry Pi und Android auf das Lazarus-Projekt gestoßen. Da ich vor vielen Jahren mal einiges in Turbo-Pascal (noch auf der DOS-Oberfläche) gemacht habe und seitdem immer auf der Basic-Schiene unterwegs war, sagt mit FreePascal schonmal mehr zu als C und C++, von C# und Java ganz zu schweigen.
Ich habe auch schon ein paar Programme aus den Beispielen ausprobiert und bißchen mit dem GUI-Editor rumgespielt. Das gefällt mir ganz gut. Ich möchte gern einige Programme zur Meßwerterfassung mit dem Raspi bzw. Android (Tablet) sowie etwas in Richtung Gerätekontrolle mit dem Raspi umsetzen, sowie ein paar Spielereien. Angefangen von einem einfachen Terminal für RS232 bis zur Datenerfassung, Speicherung und grafischen Darstellung, auch über Netzwerk.
Dazu wüßte ich gern, ob Folgendes prinzipiell und mit vertretbarem Aufwand auf dem Raspi machbar ist:
1. Abfrage der seriellen Schnittstelle. Scheint laut diversen Forenbeiträgen zu gehen.
2. Ansprechen der GPIO-Pins am Raspi. Dazu habe ich auch Beispielcode gefunden, scheint zu gehen.
3. Datendarstellung, selbstgezeichnet oder mit TGraph?-Library. Sollte gehen.
4. Aufbau einer eigenen GUI im - jetzt schlagt mich nicht - Stil von LCARS. Oder auch einer Steampunk-Oberfläche. Halt eine Oberfläche mit eigenem Design.
5. Anzeige von Bildern (JPEG, PNG).
6. Abspielen von MP3-Dateien, Audioausgabe, Lautstärkeregelung.
7. Abspielen von Internetradio-Stream.
8. Anzeige von Internetseiten, kann ich einen Webbrowser in die GUI integrieren?
9. Abspielen von Videos, Vollbild oder in der GUI.
10. Parsen von XML-Dateien, Schreiben von XML-Dateien. Gibt es einen XML-Parser, oder muß man das von Hand machen?
11. Datenausgabe auf einer Webseite. Also Darstellung von Meßwerten in HTML bzw. Ausgabe als Diagramm-Grafik und Einbinden in eine Webseite, die dann über das Netzwerk aufgerufen werden kann und regelmäßig aktualisiert wird.
Mir geht es um die Realisierbarkeit, (noch) nicht um die Art der Umsetzung. Das suche ich mir dann schon zusammen, wenn ich weiter eingestiegen bin. Also ein "hab ich schon gemacht, geht" oder ein "kannste vergessen, weil..." wäre schön.
Für Android interessiert mich vor allem Ansprechen der seriellen Schnittstelle (Bluetooth-Modul oder USB-seriell-Wandler am OTG) und Ausgabe in eine GUI als Daten (Text) oder Meßwerte (Diagramm).
Ich habe auch schon ein paar Programme aus den Beispielen ausprobiert und bißchen mit dem GUI-Editor rumgespielt. Das gefällt mir ganz gut. Ich möchte gern einige Programme zur Meßwerterfassung mit dem Raspi bzw. Android (Tablet) sowie etwas in Richtung Gerätekontrolle mit dem Raspi umsetzen, sowie ein paar Spielereien. Angefangen von einem einfachen Terminal für RS232 bis zur Datenerfassung, Speicherung und grafischen Darstellung, auch über Netzwerk.
Dazu wüßte ich gern, ob Folgendes prinzipiell und mit vertretbarem Aufwand auf dem Raspi machbar ist:
1. Abfrage der seriellen Schnittstelle. Scheint laut diversen Forenbeiträgen zu gehen.
2. Ansprechen der GPIO-Pins am Raspi. Dazu habe ich auch Beispielcode gefunden, scheint zu gehen.
3. Datendarstellung, selbstgezeichnet oder mit TGraph?-Library. Sollte gehen.
4. Aufbau einer eigenen GUI im - jetzt schlagt mich nicht - Stil von LCARS. Oder auch einer Steampunk-Oberfläche. Halt eine Oberfläche mit eigenem Design.
5. Anzeige von Bildern (JPEG, PNG).
6. Abspielen von MP3-Dateien, Audioausgabe, Lautstärkeregelung.
7. Abspielen von Internetradio-Stream.
8. Anzeige von Internetseiten, kann ich einen Webbrowser in die GUI integrieren?
9. Abspielen von Videos, Vollbild oder in der GUI.
10. Parsen von XML-Dateien, Schreiben von XML-Dateien. Gibt es einen XML-Parser, oder muß man das von Hand machen?
11. Datenausgabe auf einer Webseite. Also Darstellung von Meßwerten in HTML bzw. Ausgabe als Diagramm-Grafik und Einbinden in eine Webseite, die dann über das Netzwerk aufgerufen werden kann und regelmäßig aktualisiert wird.
Mir geht es um die Realisierbarkeit, (noch) nicht um die Art der Umsetzung. Das suche ich mir dann schon zusammen, wenn ich weiter eingestiegen bin. Also ein "hab ich schon gemacht, geht" oder ein "kannste vergessen, weil..." wäre schön.
Für Android interessiert mich vor allem Ansprechen der seriellen Schnittstelle (Bluetooth-Modul oder USB-seriell-Wandler am OTG) und Ausgabe in eine GUI als Daten (Text) oder Meßwerte (Diagramm).
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Raspi und Lazarus ist ein gutes Team, aber mit Android ist Lazarus eine Zangengeburt, da würde ich doch eher bei Java bleiben, auch wen ich kein Freund von Java bin.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Ups, noch was vergessen:
12. Automatisches Versenden einer Email an vordefinierte Adressen bei bestimmten Ereignissen.
12. Automatisches Versenden einer Email an vordefinierte Adressen bei bestimmten Ereignissen.
- W126
- Lazarusforum e. V.
- Beiträge: 57
- Registriert: Mo 27. Jul 2015, 11:19
- OS, Lazarus, FPC: Linux
- CPU-Target: Xeon Silver x64
- Wohnort: Hofheim am Taunus
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Ich arbeite auch auf der Pascal / Basic Line (Free Pascal, Delphi, LotusScript usw.) bevor Du Dich mit Java beschäftigst, schau Dir mal Basic4Android an. (www.b4x.com)
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Machbar, kann aber kompliziert werden, wenn du die Standardsteuerelemente "umbiegen" möchtest. Wirf mal einen Blick in die Unit themes. Alternativ kannst du vielleicht die notwendigen Steuerelemente nachbauen; wenn du "nur" Bilder anzeigen und Mausklicks verarbeiten möchtest sollte der Aufwand nicht allzu hoch sein. Bei komplexen Steuerelemente (Eingabefelder, Scrollbereich) wird das ganz leicht recht aufwändig.Timm Thaler hat geschrieben:4. Aufbau einer eigenen GUI im - jetzt schlagt mich nicht - Stil von LCARS. Oder auch einer Steampunk-Oberfläche. Halt eine Oberfläche mit eigenem Design.
Selbstverständlich; platziere einfach ein TImage auf dem Formular und lade dort in die Eigenschaft Picture das Bild hinein.Timm Thaler hat geschrieben:5. Anzeige von Bildern (JPEG, PNG).
Ein Einstiegspunkt wäre: http://wiki.freepascal.org/Audio_librariesTimm Thaler hat geschrieben:6. Abspielen von MP3-Dateien, Audioausgabe, Lautstärkeregelung.
Entweder verwendest du ein externes Programm (z.B. mpc) oder du lädst den Stream direkt in deinem Programm herunter und spielst ihn wie oben ab (siehe Netzwerkbibliotheken).Timm Thaler hat geschrieben:7. Abspielen von Internetradio-Stream.
Die besten Ergebnisse erzielst du wohl mit ChromiumTimm Thaler hat geschrieben:8. Anzeige von Internetseiten, kann ich einen Webbrowser in die GUI integrieren?
Siehe Video Playback Libraries; vielleicht kannst du hiermit das Abspielen von MP3 bzw. Internetradio direkt mit abdecken?Timm Thaler hat geschrieben:9. Abspielen von Videos, Vollbild oder in der GUI.
Ist im Standard vorhandeTimm Thaler hat geschrieben:10. Parsen von XML-Dateien, Schreiben von XML-Dateien. Gibt es einen XML-Parser, oder muß man das von Hand machen?
Hier gibt es verschiede Ansätze, je nach deinen Anforderung, z.B. Integration mit anderen Webservern oder eingebauter Webserver in dein ProgrammTimm Thaler hat geschrieben:11. Datenausgabe auf einer Webseite. Also Darstellung von Meßwerten in HTML bzw. Ausgabe als Diagramm-Grafik und Einbinden in eine Webseite, die dann über das Netzwerk aufgerufen werden kann und regelmäßig aktualisiert wird.
Hatte ich vor kurzem mit Synapse wie hier beschrieben gemacht.Timm Thaler hat geschrieben:12. Automatisches Versenden einer Email an vordefinierte Adressen bei bestimmten Ereignissen.
Alle Aussagen beziehen sich hier auf Standard-Linux (hierbei sollte es keine Unterschiede zwischen x86 und ARM) geben. Bei Android sieht das anders aus, da dies von Lazarus noch nicht voll unterstützt wird.
Auch habe ich nicht alles hiervon selbst verwendet, ich hoffe trotzdessen dir ausreichend Anhaltspunkte geben zu haben

MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Du solltest vermutlich auch MSEide+MSEgui in Betracht ziehen, welches ebenfalls mit Free Pascal kompiliert wird.
MSEgui benutzt zur Graphikausgabe direkt xlib/X11 statt der Verwendung einer zusätzlichen Widgetset Bibliothek. Dadurch laufen MSEgui Programme gerade auf schwächeren Rechnern wie Raspberry Pi wesentlich schneller und brauchen weniger Resourcen.
MSEgui zeichnet alle Bedienelemente selbst und besitzt daher ausgezeichnete skinning-Optionen basierend auf TFrame für die Gestaltung der Umrandung, TFace für den inneren Bereich des widget, TFrameComp und TFaceComp als templates und TSkinController zur zentralen Verwaltung des Aussehens einer Anwendung.
MSEide ermöglicht auch die komfortable cross-Entwicklung und Debugging von Linux PC zu Raspberry Pi, siehe dazu README.TXT.
https://sourceforge.net/projects/mseide-msegui/
Eine entsprechende FPC Raspberry Pi Cross-Umgebung ist hier:
https://sourceforge.net/projects/mseide ... pcrossarm/
Die meisten deiner weiteren Anforderungen lassen sich vermutlich mit existierenden Bibliotheken realisieren, für externe FPC Bibliotheken muss gegebenefalls bei "uses" hinter "classes" "mclasses" angefügt werden, da MSEgui eine erweiterte "TComponent"-Version verwendet.
Dieses Programm wurde z.B. mit MSEgui gemacht:
http://almin-soft.ru/index.php?multimed ... creenshots
Dann gibt es noch fpGUI:
http://fpgui.sourceforge.net/
fpGUI bietet weniger Möglichkeiten als MSEgui und ist nicht so weit fortgeschritten, ist aber auch "custom drawn" und von der Struktur her näher an Delphi VCL (das Lazarus Vorbild) angelehnt.
MSEgui ist ein ganz neuer Ansatz zur Konstruktion eines GUI-Toolkits. Da du ja keine Delphi-Erfahrung hast, sollte das keine Rolle spielen.
Auch sehr interessant ist ultibo:
https://ultibo.org/
MSEgui benutzt zur Graphikausgabe direkt xlib/X11 statt der Verwendung einer zusätzlichen Widgetset Bibliothek. Dadurch laufen MSEgui Programme gerade auf schwächeren Rechnern wie Raspberry Pi wesentlich schneller und brauchen weniger Resourcen.
MSEgui zeichnet alle Bedienelemente selbst und besitzt daher ausgezeichnete skinning-Optionen basierend auf TFrame für die Gestaltung der Umrandung, TFace für den inneren Bereich des widget, TFrameComp und TFaceComp als templates und TSkinController zur zentralen Verwaltung des Aussehens einer Anwendung.
MSEide ermöglicht auch die komfortable cross-Entwicklung und Debugging von Linux PC zu Raspberry Pi, siehe dazu README.TXT.
https://sourceforge.net/projects/mseide-msegui/
Eine entsprechende FPC Raspberry Pi Cross-Umgebung ist hier:
https://sourceforge.net/projects/mseide ... pcrossarm/
Die meisten deiner weiteren Anforderungen lassen sich vermutlich mit existierenden Bibliotheken realisieren, für externe FPC Bibliotheken muss gegebenefalls bei "uses" hinter "classes" "mclasses" angefügt werden, da MSEgui eine erweiterte "TComponent"-Version verwendet.
Dieses Programm wurde z.B. mit MSEgui gemacht:
http://almin-soft.ru/index.php?multimed ... creenshots
Dann gibt es noch fpGUI:
http://fpgui.sourceforge.net/
fpGUI bietet weniger Möglichkeiten als MSEgui und ist nicht so weit fortgeschritten, ist aber auch "custom drawn" und von der Struktur her näher an Delphi VCL (das Lazarus Vorbild) angelehnt.
MSEgui ist ein ganz neuer Ansatz zur Konstruktion eines GUI-Toolkits. Da du ja keine Delphi-Erfahrung hast, sollte das keine Rolle spielen.
Auch sehr interessant ist ultibo:
https://ultibo.org/
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Im Lazarus-Projekt gibt es den Widget-Typ "CustumDrawn". Der kann als Ausgangspunkt für sowas dienen. (Funktioniert dabei vermutlich ähnlich wie MSE, ist bei Lazarus aber eher ein Stiefkind, während das bei MSE Mainstream ist.)Timm Thaler hat geschrieben: 4. Aufbau einer eigenen GUI im - jetzt schlagt mich nicht - Stil von LCARS. Oder auch einer Steampunk-Oberfläche. Halt eine Oberfläche mit eigenem Design.
-Michael
Zuletzt geändert von mschnell am Mo 21. Mär 2016, 10:07, insgesamt 1-mal geändert.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Es gibt ja die Hoffnung, dass die schlappen Vorgänger-Modelle (die ja eigentlich nur zu Ausbildungs-Zwecken designt wurden) mit RPi 3, der ein vollgültiger Rechner zu sein scheint und mit 64 Bit dann auch richtig erwachsen werden kann, Geschichte sindmse hat geschrieben: auf schwächeren Rechnern wie Raspberry Pi

(aarch64 Support für fpc und Lazarus siehe englische Mailing Listen)
-Michael
Zuletzt geändert von mschnell am Mo 21. Mär 2016, 11:08, insgesamt 2-mal geändert.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Ist bei MSE ein (GUI-) Support für Android geplant, entweder mit native Programmen und Android-API Anbindung oder mit mit dem von FPC angebotenen Compilierung zu Java Byte Code ?mse hat geschrieben:Du solltest vermutlich auch MSEide+MSEgui in Betracht ziehen, welches ebenfalls mit Free Pascal kompiliert wird.
-Michael
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Ja, allerdings nur bei genügendem Interesse.mschnell hat geschrieben: Ist bei MSE ein (GUI-) Support für Android geplant, entweder mit native Programmen und Android-API Anbindung oder mit mit dem von FPC angebotenen Compilierung zu Java Byte Code ?
Vermutlich einerseits durch ein OpenGL ES Backend mit einem Set von speziellen vereinfachten MSEgui-Komponenten für Touch-Interface und andererseits mit MSEifi Datenpunkt- und Event- Verbindungskomponenten zu einer mit den nativen Plattform-Tools erstellten GUI.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Habt ihr einen Vergleich, was die Performance von mit Lazarus bzw. MSEide erstellten Programmen zu anderen Sprachen wie Java, Python und zu mit Qt in C++ gebauten GUIs betrifft?
Ich hab vor 20 Jahren auf dem Amiga500 mit AmigaBasic GUIs gezeichnet. Ja, buchstäblich alles selbst gemalt und Mousezeiger und Clicks abgefragt. DAS war wirklich langsam. Da ist der Raspi 100mal schneller, deswegen verwirren mich solche Aussagen zur Performance von GUI auf einem Raspi etwas. Aber ok, es gibt auch Quad-Core-Handys mit 1.3GHz, die in der Bedienung anscheinend lahm sind.
Noch ein paar Fragen:
13. Kann ich in Lazarus / FreePascal auch strukturiert programmieren, oder geht nur objektorientiert? Das würde die Transferierung von einigen einfachen bestehenden Programmen vereinfachen, die ich in Purebasic erstellt habe und gern in ähnlicher Form auf dem Raspi haben würde.
14. Ich war etwas erstaunt: Mein erstes Lazarus-"Programm" mit einer einfachen GUI aus dem Tutorial war kompiliert für Win gleich mal 16MByte groß. Liegt das daran, daß der Debugger noch eingebunden ist? Bekommt man das merklich kleiner? In Purebasic ist ein komplettes Terminal gerade mal 60kByte, eine umfangreiche Oberfläche mit Bildverwaltung, Dateiein- und ausgaben, XML-Parsing, Kommunikation über TCP-IP und so Kram gerade mal 1MByte. Nicht daß ich um jeden Preis sparen müßte, aber ich würde gern wissen, woran das liegt.
Ich hab vor 20 Jahren auf dem Amiga500 mit AmigaBasic GUIs gezeichnet. Ja, buchstäblich alles selbst gemalt und Mousezeiger und Clicks abgefragt. DAS war wirklich langsam. Da ist der Raspi 100mal schneller, deswegen verwirren mich solche Aussagen zur Performance von GUI auf einem Raspi etwas. Aber ok, es gibt auch Quad-Core-Handys mit 1.3GHz, die in der Bedienung anscheinend lahm sind.
Noch ein paar Fragen:
13. Kann ich in Lazarus / FreePascal auch strukturiert programmieren, oder geht nur objektorientiert? Das würde die Transferierung von einigen einfachen bestehenden Programmen vereinfachen, die ich in Purebasic erstellt habe und gern in ähnlicher Form auf dem Raspi haben würde.
14. Ich war etwas erstaunt: Mein erstes Lazarus-"Programm" mit einer einfachen GUI aus dem Tutorial war kompiliert für Win gleich mal 16MByte groß. Liegt das daran, daß der Debugger noch eingebunden ist? Bekommt man das merklich kleiner? In Purebasic ist ein komplettes Terminal gerade mal 60kByte, eine umfangreiche Oberfläche mit Bildverwaltung, Dateiein- und ausgaben, XML-Parsing, Kommunikation über TCP-IP und so Kram gerade mal 1MByte. Nicht daß ich um jeden Preis sparen müßte, aber ich würde gern wissen, woran das liegt.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Witzig, dass uns die "ifi" - Idee immer wieder zusammenbringtmse hat geschrieben:andererseits mit MSEifi Datenpunkt- und Event- Verbindungskomponenten zu einer mit den nativen Plattform-Tools erstellten GUI.



Ist ja eigentlich so offensichtlich sinnvoll, aber außer Deiner Implementierung (und meinen theoretischen überleg8ingen und begrenzten Fingerübungen) scheint sich niemand dafür zu interessieren.
-Michael
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Timm Thaler hat geschrieben:Habt ihr einen Vergleich, was die Performance von mit Lazarus bzw. MSEide erstellten Programmen zu anderen Sprachen wie Java, Python und zu mit Qt in C++ gebauten GUIs betrifft?
Ich hab vor 20 Jahren auf dem Amiga500 mit AmigaBasic GUIs gezeichnet. Ja, buchstäblich alles selbst gemalt und Mousezeiger und Clicks abgefragt. DAS war wirklich langsam. Da ist der Raspi 100mal schneller, deswegen verwirren mich solche Aussagen zur Performance von GUI auf einem Raspi etwas. Aber ok, es gibt auch Quad-Core-Handys mit 1.3GHz, die in der Bedienung anscheinend lahm sind.
Noch ein paar Fragen:
13. Kann ich in Lazarus / FreePascal auch strukturiert programmieren, oder geht nur objektorientiert? Das würde die Transferierung von einigen einfachen bestehenden Programmen vereinfachen, die ich in Purebasic erstellt habe und gern in ähnlicher Form auf dem Raspi haben würde.
14. Ich war etwas erstaunt: Mein erstes Lazarus-"Programm" mit einer einfachen GUI aus dem Tutorial war kompiliert für Win gleich mal 16MByte groß. Liegt das daran, daß der Debugger noch eingebunden ist? Bekommt man das merklich kleiner? In Purebasic ist ein komplettes Terminal gerade mal 60kByte, eine umfangreiche Oberfläche mit Bildverwaltung, Dateiein- und ausgaben, XML-Parsing, Kommunikation über TCP-IP und so Kram gerade mal 1MByte. Nicht daß ich um jeden Preis sparen müßte, aber ich würde gern wissen, woran das liegt.
13. Ja
14. FAQ 1.1 http://wiki.freepascal.org/Lazarus_Faq/de http://wiki.freepascal.org/Size_Matters/de
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Nach meinen Erfahrungen sind MSEgui Programme eher schneller als vergleichbare Qt Programme. Lazarus verwendet Qt oder GTK2 als Backend, ist also vermutlich noch etwas langsamer. Free Pascal Binaries sind nicht so gut optimiert wie Clang oder gcc Programme, das sehe ich wenn ich den von MSElang mit LLVM Backend produzierten Code mit FPC vergleiche, siehe auch:Timm Thaler hat geschrieben:Habt ihr einen Vergleich, was die Performance von mit Lazarus bzw. MSEide erstellten Programmen zu anderen Sprachen wie Java, Python und zu mit Qt in C++ gebauten GUIs betrifft?
https://www.mail-archive.com/fpc-pascal ... 41615.html
Für normale Programme ist der Abstand von gcc und FPC nicht so gross, manchmal ist auch FPC schneller.
Die Übertragung von Basic nach Pascal ist sicher gut möglich.13. Kann ich in Lazarus / FreePascal auch strukturiert programmieren, oder geht nur objektorientiert? Das würde die Transferierung von einigen einfachen bestehenden Programmen vereinfachen, die ich in Purebasic erstellt habe und gern in ähnlicher Form auf dem Raspi haben würde.
Das ist vermutlich Debug Information.14. Ich war etwas erstaunt: Mein erstes Lazarus-"Programm" mit einer einfachen GUI aus dem Tutorial war kompiliert für Win gleich mal 16MByte groß. Liegt das daran, daß der Debugger noch eingebunden ist? Bekommt man das merklich kleiner? In Purebasic ist ein komplettes Terminal gerade mal 60kByte, eine umfangreiche Oberfläche mit Bildverwaltung, Dateiein- und ausgaben, XML-Parsing, Kommunikation über TCP-IP und so Kram gerade mal 1MByte. Nicht daß ich um jeden Preis sparen müßte, aber ich würde gern wissen, woran das liegt.
http://wiki.lazarus.freepascal.org/Size_Matters
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Lazarus auf Raspberry Pi - welche Möglichkeiten?
Wie sieht es eigentlich beim vanilla FPC mit LLVM und/oder ARMv8 Support aus