hallo
also ich frage mich gerade ob es sinn macht die berechnungen eines programmes in einer dll zu scripten und diese dan aufrufe
also rein vom zeitlichen her damit es flüssiger läuft
hat da jemand erfahrung mit?
yxyx
hallo
also ich frage mich gerade ob es sinn macht die berechnungen eines programmes in einer dll zu scripten und diese dan aufrufe
also rein vom zeitlichen her damit es flüssiger läuft
hat da jemand erfahrung mit?
yxyx
Ne dll kann man ja bekanntlich mit C(++) erstellen.
Das ist natürlich schneller.
Man müsste nur wissen wie schnell DllCall ist.
Ich google mal...
Interessante Idee
mfg Ubuntu
ja ich arbeite mich grad in c++ n bissel ein
und ja da dacht ich mir das würde doodle jump schon vertragen
hat jemand n kleines tut zum erstellen von ner dll?
The Shadow AE hat mal ne Frage gestellt...
Ich hab erst mal das gefunden http://www.autoit.de/index.php?page=Thread&threadID=19627
Ich arbeite mich auch gerade in C ein.
Auch wenn es bescheidene Kentnisse sind kann ich dir also evtl. helfen.
mfg Ubuntu
Ubuntu sucht weiter ...
Also das ist nicht schwer.
Du schreibst in C++ folgendes:
extern "C" /* hier kommt der Rückgabetyp hin */ __declspec(dllexport) /*Funktionsname*/ ( /*Parameter*/ )
{
/* Funktion */
}
So, das dann als dll compilieren, und dann so aufrufen:
[autoit]
DllCall("Name.dll", "Wert:cdecl", "Funk Name", "parameter")
Das Wissen hab ich von der "bösen" AutoIt Seite
Es geht allerdings auch anders.
Das ist ja erstaunlich einfach
Welchen Compieler benutzt du denn zum "als dll compilieren".
mfg Ubuntu
Ich hab den Dev-C++ mit dem zugehörigen Compiler, du musst dann ein neues Projekt erstellen => Dll, Speicherort wählen und das ganze Zeug, und dann löschst du den gesamten Inhalt der main.cpp, und schreibst deine Funktionen rein.
ZitatAuch wenn es bescheidene Kentnisse sind kann ich dir also evtl. helfen.
kann sogar sein das du mehr weist als ich hab vor 3 tagen angefangen
Zitat
also so oda wie?
extern "C" double __declspec(dllexport) myfunc x
{
y = x*2
Return y
}
nicht ganz, auch wie in AutoIt, müssen die Parameter in C++ in Klammern, also so:
oh ok ich glaub ich habs verstanden
und die parameter trennen mit , ?
jep, ganz genau
ok ich hab das jetz einfach mal so probiert
[autoit]$aResult = DllCall( "test.dll", "int", "myfunc", "int", 5)
[/autoit]
aba wenn ich das script starte dan kommt n fehler:
Zitattest.dll ist entweder nicht für die Ausführung unter Windows vorgesehen oder enthält einen Fehler. Installieren Sie das Programm mit den Originalinstallationsmedien erneut, oder wenden Sie sich and den Systemadministrator oder Softwarelieferanten, um Unterstützung zu erhalten.
was bedeutet das?
$aResult = DllCall( "test.dll", "int", "myfunc", "int", 5)
Mach nach dem int noch ein ":cdecl"
also so:
$aResult = DllCall( "test.dll", "int:cdecl", "myfunc", "int", 5)
[/autoit]hmm da kommt i wie der gleiche error
komisch
Ist die dll im gleichen Ordner, mit dem exakt gleichen Name?
Und welchen Compiler hast du?
Ich benutze auch Dev++ und beschäftige mich schon seit langer Zeit mit dem Thema: Programmieren mit C(++) aber nicht intensiv.
mfg Ubuntu
ja is im gleichen ordner
ähhm compiler is das programm ne?
ich hab Microsoft Visual C++ 2010
hmm es geht nich imma nich
was könnts sonst noch sein?
wo gehören den die ; überall hin?