macleod
Goto Top

Compiler ohne Abhängigkeiten

Hallo
für ein kleines Projekt suche ich einen geeigneten Compiler der ohne Abhängigkeiten wie .NET etc. auskommt. Es soll eine consoleapp und später einen Windows service ergeben. Da auch alte, isolierte Maschinensteuerungen mit Windows 7 in 32bit versorgt werden sollen, suche ich hier wirklich nach dem möglichst kleinsten gemeinsamen Nenner.
Das Programm durchsucht Verzeichnisse, überprüft andere Windows services ob sie laufen, muss Registry Einträge checken und generiert bei Bedarf logfiles auf dem Desktop. Mehr nicht.
Wenn möglich etwas in Richtung C oder Basic. Ich erinnere mich an meine Studienzeit und Powerbasic, was damals schon guten Code generierte, aber kann man damit einen windows service basteln?
Bin für jede Idee dankbar.
MacLeod

Content-ID: 4322299817

Url: https://administrator.de/contentid/4322299817

Ausgedruckt am: 24.11.2024 um 02:11 Uhr

maretz
maretz 18.10.2022 um 10:37:42 Uhr
Goto Top
naja - du kannst das ganze natürlich mit C/C++ bauen, dann hast du am ende bestenfalls ne Exe die ausführbar ist. Es kommt dann eher drauf an ob du damit dann auch an Windows-Services usw. kommst.
max
Lösung max 18.10.2022 aktualisiert um 16:40:23 Uhr
Goto Top
Meine Empfehlung: PureBasic

PureBasic hat keine Abhängigkeiten, eine eigene IDE, ist natürlich Basic-nah und einfach zu programmieren. Es erzeugt Binaries für Windows, macOS und Linux, für Command-Line oder mit GUI. Alles dabei. Es gibt eine freie Version für kleine Projekte und eine Version wo man einmalig zahlen muss (Single User 79 Euro). Danach gibt es Updates auf Lebenszeit (keine Abo!).

Pure Basic gibt es schon seit dem Amiga 500 (auch dafür gab es eine Version). Wird permanent gepflegt und aktualisiert. Vor kurzem wurde der native Apple M1, Windows 11 und Raspberry Support hinzugefügt. News dazu findest du unter: https://www.purebasic.com/news.php

Ich habe damit einige kleine Command-Line Programme für Windows und Linux entwickelt. PureBasic ist wirklich ziemlich einfache (ähnlich Powerbasic) und hat einen sehr leistungsfähigen Compiler.

Deutsche Hilfe gibt es auch:
https://www.purebasic.fr/german/

Gruß
max
vossi31
vossi31 18.10.2022 um 11:45:48 Uhr
Goto Top
Moin,

ich werfe dann mal AutoIt in den Raum.

Henning
MacLeod
MacLeod 18.10.2022 um 11:55:52 Uhr
Goto Top
Zitat von @max:

Meine Empfehlung: PureBasic

PureBasic hat keine Abhängigkeiten, eine eigene IDE, ist sehr natürlich Basic-nah und einfach zu programmieren. Es erzeugt Binaries für Windows, macOS und Linux, für Command-Line oder mit GUI. Alles dabei. Es gibt eine freie Version für kleine Projekte und eine Version wo man einmalig zahlen muss (Single User 79 Euro). Danach gibt es Updates auf Lebenszeit (keine Abo!).

Pure Basic gibt es schon seit dem Amiga 500 (auch dafür gab es eine Version). Wird permanent gepflegt und aktualisiert. Vor kurzem wurde der native Apple M1, Windows 11 und Raspberry Support hinzugefügt. News dazu findest du unter: https://www.purebasic.com/news.php

Ich habe damit einige kleine Command-Line Programme für Windows und Linux entwickelt. PureBasic ist wirklich ziemlich einfache (ähnlich Powerbasic) und dabei sehr leistungsfähig.

Deutsche Hilfe gibt es auch:
https://www.purebasic.fr/german/

Gruß
max

Das sieht doch sehr gut aus. Windows services scheinen auch irgendwie zu gehen. Wir werden unseren Praktikanten darauf ansetzen.
Vielen Dank
MacLeod
MacLeod 18.10.2022 um 11:57:59 Uhr
Goto Top
Zitat von @vossi31:

Moin,

ich werfe dann mal AutoIt in den Raum.

Henning

Das eher nicht. Das ist ja kein wirklicher Compiler sondern nur ein Interpreter mit möglichem exe Wrapper drum herum. Nicht wirklich das was wir suchen.
Crusher79
Crusher79 18.10.2022 um 13:04:47 Uhr
Goto Top
Hallo, fällt mir gerade auch wenig zu ein.

PowerShell 2.0 wäre es. Der Code läuft unter Windows 7 und Windows 10. Für dein Vorhaben sollte das eig. ausreichend sein. Die Befehle sind ja teils nativ. Man muss keine DLL einbinden - könnte es aber.

Das Programm durchsucht Verzeichnisse, überprüft andere Windows services ob sie laufen, muss Registry Einträge
checken und generiert bei Bedarf logfiles auf dem Desktop. Mehr nicht.

PS 2.0 als gemeinsamer Nenner sollte einen Großteil abdecken. Windows Service ist die Frage, was der genau tun soll. Du kannst auch eine selbstgebaute EXE als Dienst einrichten. Oder eben Scripte im Hintergrund laufen lassen.


Du hast leider nicht geschrieben, wie die Maschinensteuerung aussieht. Oft ist die noch TXT basiert. Meilensteine werden bei Erfolg hochgesetzt etc. Für Manipulationen an Dateisystem und Registry eignet ich PowerShell ganz gut.

Initial könnte man auch Windows 7 mit TLS 1.2 ausstatten und so noch mehr anzapfen. Oftmals aber garnicht nötig. Du kannst neben den PS Commands ja auch direkt die guten alten Batch Programme ausführen.

In der Kombination sollte das eig. reichen. Außerdem beherrschen PS eine Menge Leute. Wär sollte sonst bei Fehlern etc. eingreifen?

mfg Crusher
Crusher79
Crusher79 18.10.2022 um 13:18:13 Uhr
Goto Top
@MacLeod
https://example-code.com/purebasic/default.asp

Nicht kostenlos aber für 300 Dollar kann dir das schon einiges abnehmen. Der Entwickler hat für viele Sprachen die gleichen nützlichen Module.

Wäre zwar wiederum eine Abhängigkeit - Chillkat. Aber ggf. kann es dir das eine oder andere erleichtern.
MacLeod
MacLeod 18.10.2022 um 13:26:45 Uhr
Goto Top
Danke an alle.
Was ich vergaß zu erwähnen, aber dachte, daß das logisch sei: Das Programm wird natürlich vermarktet. Das Erstellen, Testen und Prüfen bei den Kunden vor Ort wird schon richtig Kohle verschlingen bevor das funktioniert. Es ist eben nichts wo wir Fernzugriff drauf haben. Entsprechend muss das Programm fest compiliert sein und erhält auch Features wie einen Kopierschutz, Lizensierung und Verfallsdatum. Auch wenn es dadurch natürlich nicht unknackbar wird, ist es eine hohe Hürde. Entsprechend fällt auch jede Scriptsprache, auch mit Wrapper, aus dem Raster weil das Programm im Klartext beim Kunden liegen würde. Ein NoGo.
Leider sind auch entsprechende Änderungen am Windows System wie Nachinstallation von Powershell oder eine TLS Umstellung nicht möglich. Das sind fertige Images von Fremdanbietern an die wir minimalinvasiv andocken müssen.
MacLeod
Crusher79
Crusher79 18.10.2022 um 13:44:14 Uhr
Goto Top
Hallo, ja das wäre schön gewesen wenn du es vorher gesagt hättest face-wink

Chilkat nimmt einen einiges ab. Vlt. lohnt sich auch dann gerade mal ein Blick. Lizenzmodell ist auch tranparent erklärt.
MacLeod
MacLeod 05.11.2022 um 11:40:24 Uhr
Goto Top
Ergänzung: Parallel programmieren wir die Anwendung nun in Purebasic und in Go. Von Go sind wir aber etwas enttäuscht. Bei einer simplen Kommandozeilen Applikation schneidet sie im Vergleich zu Purebasic schlecht ab.
- Kompilierte Exe ist deutlich größer
- Ausführungszeit ist um vielfaches langsamer
- Es gibt keine LTS Version bei Go, läuft nicht mehr unter XP und man muss immer damit rechnen, daß auch Win7 bei EOL plötzlich gelöscht wird.
- Die Community ist nicht so groß wie erhofft.
- Einzig Standard Pakete und libs sind deutlich umfangreicher und passender für unsere Zwecke Go.

Go mag super sein für moderne Zwecke ist aber genauso aufgeblasen wir die anderen üblichen Compiler auch.
4400667902
4400667902 05.11.2022 aktualisiert um 11:50:13 Uhr
Goto Top
Mit c/c+ kannst du alles in der Windows-Welt (Win32) abdecken ohne irgendwelche Abhängigkeiten.
Auch Windows Dienste sind kein Thema
https://learn.microsoft.com/en-us/windows/win32/services/service-functio ...
Alle die anderen greifen im Backend meist sowieso auch nur auf diese Funktionen zurück.