DMUG-Archiv 2023

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: [Dmug] CreateExecutable

Hallo Axel,
Dein Hilferuf ist mir im Mailreader wieder über den Weg gelaufen und da ich
noch keinen Antwort von einem anderen teilnehmer gelesen habe, will ich
wenigstens etwas Senf über dein Problem verteilen.
Es gibt z.B. das Buch von Jens Peer Kuska (weilt leider nicht mehr unter
uns, er wusste fast alles und konnte fast alles, aber er kennt nun das
letzte Geheimnis: Gibt es einen Gott!!!), "Mathematica und C", wo er die
Integration sehr schön beschreibt.
Allerdings ist das für eine sehr frühe Version von Mathematica (3.0!!!)
<ISBN 3540614893> geschrieben worden. Sieh bitte in der nächsten UB nach.
Das frühere Problem, dass Mathematica oft schnarchlangsam ist, gilt
insofern nicht mehr, da es heute nur noch langsam ist.
Der Chef, Stephen Wolfram erwähnt auf seinem YouTube Kanal es öfters, dass
das GROßE Ziel von ihm ist, dass MMA gleich C++++ Code erzeugt.
Soviel ich weiß stehen dem aber noch viele Hürden im Weg, vielleicht kann
da in Zukunft mal KI helfen, da gibt es ja die erstaunlichsten Ergebnisse,
z.B.:
https://www.youtube.com/watch?v=fDAPJ7rvcUw
<https://www.youtube.com/watch?v=fDAPJ7rvcUwhttps://www.youtube.com/watch?v=fDAPJ7rvcUw>
Außerdem ist Mathematica heute nicht mehr schnarchlangsam sondern nur noch
langsam, die Fortschritte seit Version 7 sind doch erheblich.
Also ich weiß nicht, ob es viel bringt, vielleicht ist es besser nach einem
gewissen Stadium eines Projekts die Sprache zu wechseln (vielleicht in
einen Lisp Dialekt, denn MMA ist ebenso ein solcher und es gigt dann also
gemeinsame Konzepte oder Phy -macht mein Sohn, Mathematica hat ihn nicht
überzeugt, oder Zack??).
Es gibt aber auch Compile[]
[image: image.png]
und
[image: image.png]
Ferner gibt es die Möglichkeit der Parallel Befehle wie ParallelTable[]
und gleich eine zweite Frage dazu:
[image: image.png]
Tuuuut mir leid, dass ich nicht konkreter helfen kann.
Viel Erfolg wünscht Peter

Am Mi., 12. Juli 2023 um 00:55 Uhr schrieb Axel Bauer via demug <
demug@XXXXXXX.ch>:

> Hallo,
>
> zunächst vielen Dank für die Aufnahme in die Liste!
>
> Ich habe folgende Problemstellung:
>
> unter
>
>
> https://www.wolfram.com/mathematica/new-in-8/integrated-c-workflow/create-standalone-executables-using-compiled-funct.html
>
> findet sich ein interessantes Beipiel für die Ausführung der
> Mathematica-Funktion "CreateExecutable", in meinem Fall wird damit eine
> Anbindung an das installierte und auch funktionierende Visual Studio
> 2022 angezielt, um eine exe-Datei zu erstellen.
>
> Leider funktioniert das bei mir aber nicht. Hier ein Auszug aus der
> Internetseite:
>
> (* Create Standalone Executables Using Compiled Functions
> You can generate and distribute standalone executables. *)
>
> lopass = Compile[{{x, _Real, 1}, dt, RC},
>     Module[{a = dt/(RC + dt), yprev = First[x], yi},
>      Table[yi = x[[i]] + (1 - a)*yprev;
>       yprev = yi;
>       yi, {i, 1, Length[x]}]]];
>
>
> (* Generate C code and a header *)
>
> targetDir = CreateDirectory[]
>
> fnSource = FileNameJoin[{targetDir, "lopass.c"}];
>
> Export[fnSource, lopass];
>
>
>         (* Write a C main function to call the generated code. *)
>
> lopassmainSrcFile = FileNameJoin[{targetDir, "lopassMain.c"}];
> Export[lopassmainSrcFile, lopassmainSrc, "Text"]
>
>
>         (* Compile it into an executable using the Wolfram Runtime
>         Library. *)
>
> Needs["CCompilerDriver`"];
>
> lopassExe =
>
>   CreateExecutable[{fnSource, lopassmainSrcFile}, "lowpass",
>
>    "TargetDirectory" -> targetDir,
>
>    "Libraries" -> "WolframRTL_Static_Minimal"]
>
>
> $Failed
>
>
> An dieser Stelle geht es bei mir also nicht mehr weiter.
>
> "fatal error C1004: Unerwartetes Dateiende gefunden" wird in folgender
> Internetseite kommentiert:
>
>
> https://learn.microsoft.com/de-de/cpp/error-messages/compiler-errors-1/fatal-error-c1004?view=msvc-170
>
> Doch da ich das obige Beispiel aus einer Internetseite übernommen habe,
> die sicherlich eine korrekte Wiedergabe ist, sehe ich keine anwendbare
> Hilfe in dieser learn.microsoft-Seite. Insgesamt kann ich mir keinen
> Reim darauf machen, wo der Fehler liegen soll.
>
> Übrigens habe ich das obige lopass versuchsweise reduziert auf das
> einfache lopass = Compile[{{x, _Real,1}}, x];
>
> Doch auch das führt zur gleichen Fehlermeldung.
>
> Ich würde mich über jede Hilfestellung freuen, damit ich anhand des
> obigen Beispiels mittels Mathematica eigene exe-Dateien dieses Typs
> erstellen kann.
>
>
> --
> Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft.
> www.avast.com
> _______________________________________________
> DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
> http://www.mathematica.ch/mailman/listinfo/demug
> Archiv: http://www.mathematica.ch/archiv.html
>

PNG image

PNG image

PNG image

_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html
Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html