AutoIt in C++

  • Gleich vorweg: Wenn der Thread im falschen Forum ist, bitte verschieben

    Wie wäre es, alle Funktionen aus AutoIt in C++ zu übertragen, also ein Include File für C++ wo Funktionen mit den Funktionsnamen von AutoIt drin sind, die auch genau das gleiche machen wie die Funktionen in AutoIt. So wäre das fertige Programm doch sicherlich schneller, oder? Dafür bräuchte ich natürlich Helfer, da ich selber C++ so gut wie gar nicht kann :pinch: Mattthias hat schon in der SB gesagt, dass er gern mitmachen würde, gibt es sonst noch Leute, die Interese hätten?

    Einmal editiert, zuletzt von Ineluki (20. September 2010 um 14:04)

  • Die AutoIt-internen Funktionen sind größtenteils WinApi-Calls oder aus den gängigen Biblotheken entnommen. Da wirst du nur sehr schwer etwas beschleunigen können.
    Mit Sicherheit gibts für 99,8% der in AutoIt verwendeten Funktionen das entsprechende C++-Pendant.
    Warum also die unkomplizierten AutoIt-Funktionen in C++ übertragen wenn´s die sowieso schon gibt?
    Weil sie "einfacher" zu handhaben sind als C++? Nunja, wenn AutoIt einfacher ist als C++, aus welchem Grund sollte man dann alles nach C++ transferieren?
    Es gibt nur einen Grund, hockkomplexe mathematische Berechnungen dauern bei AutoIt etwas länger, na und? Dann schreibt man sich eine DLL in einer beliebigen anderen Hochsprache und bindet diese dann ein.

    Wenn ich Threads wie diesen (oder auch einige im amerikanischen Forum) sehe, die bspw. AutoItX in C includieren wollen, frage ich mich ernsthaft, was das soll....

  • Und das ist ein Argument weil (wofür) ... ?

    Ein Zwischending zwischen C/C++ und vereinfachtem Programmieraufwand wie in autoit wäre C#.
    Ich kann einem 2MB Tool, dass 70MB Laufzeitumgebungen braucht aber nichts abgewinnen.

  • Und das ist ein Argument weil (wofür) ... ?

    Ein Zwischending zwischen C/C++ und vereinfachtem Programmieraufwand wie in autoit wäre C#.
    Ich kann einem 2MB Tool, dass 70MB Laufzeitumgebungen braucht aber nichts abgewinnen.


    Naja, .NET ist heute sowieso fast immer installiert (Vista und 7 haben es ja schon dabei). Also macht es auch nicht mehr so viel aus.

  • Zitat

    Mit dem Compiler von AutoIt sind die Programme immer ziemlich langsam, wenn man das nach C++ übertragen würde wäre es sicherlich um einiges schneller, oder nicht?

    Das "langsame" hängt daran, dass AutoIt garkein Compiler ist, sondern ein Interpreter. Und "immer ziemlich langsam" ist gelogen, etliche Funktionen sind wie schon von mir beschrieben nur "Wrapper" für WinApi-Calls.

    Zitat

    Andy, weil man in C++ aus FileRead() so ... 5 - 10 Zeilen machen muss
    Das war nur ein Bsp

    Ja wie jetzt, gehts um "einfacher" oder "schneller" oder "kürzer"?
    Wer hindert dich denn in C++ eine Funktion _FileRead(para,para2,para3,para....) zu schreiben, die das C++-Gewurstel in einer Zeile abhandelt?
    Freunde der Nacht, mal ganz ehrlich, C++ ist deswegen bei "richtigen" Programmierern so beliebt, weil es für so gut wie jeden kleinen Sch*** eine passende Funktion gibt. Der Skill eines guten Programmierers ist nicht, am Tag 800 Zeilen bugfreien Code in die Tastatur zu kloppen, sondern die 10 Funktionen aus den Bibliotheken zusammenzusuchen, die sein Problem zu 99,8% erledigen und die restlichen 5 Zeilen Code dazuzuschreiben.
    Der eigentliche C++ Compiler wird nur noch als "Zusammenbaumaschine" benutzt....denkt mal drüber nach, wenn ihr in AutoIt das nächste Mal eine bestimmte Funktion (UDF) bräuchtet....zu 99% gibts die bereits....

  • Ich habe eigentlich auch mal mit dem Gedanken gespielt sowas zu machen. Aber ich habe eindeutig noch nicht genug Skill.
    Und wie bereitz gesagt wurde so lahm ist AutoIt nun auch wieder nicht.... Nur halt bei größeren Mathematischen Berechnungen dauert es halt länger.

  • Nein.
    Ich kann aber wieder anfangen. Dann werde ich aber wahrscheinlich eine DLL schreiben, aus der Funktionen aufgerufen werden. Ansonsten dauert das compilen immer sehr lange.

    Ich hab aber noch ne neuere Version auf'm PC liegen. Ich müsste sie nbur nochmal etwas überarbeiten, bevor ich sie hochlade.


    EDIT: Hier die neuste Version: http://home.arcor.de/rber/gunnar/AutoItC/download/V_2.x.zip

    Ich hab sie kaum überarbeitet. Viele Funktionen sind erst halb fertig und die Klasse hat auch noch viele komische Stellen.