gibts noch andere apis/libs als winapi die direkt assembler unterstützen



  • bei winapi ist es so das es header dazu gibt + libs
    gibts das noch bei anderen libs/apis

    gruss reima



  • Bei meinem Platform SDK sind keine Assembler Header dabei.

    Jedes C API ist recht leicht ansprechbar mit Assembler.



  • Ringding schrieb:

    Bei meinem Platform SDK sind keine Assembler Header dabei.

    dann lad dir den MASM assembler runter ->dort sind die headers + libs dabei, geht dann super mit der winapi arbeiten ,ist fast so einfach wie mit c++

    ringding schrieb:

    Jedes C API ist recht leicht ansprechbar mit Assembler.

    das ist mir schon klar, aber dann musst du noch umständlich jede struktur vordefinieren

    gruss reima



  • falls es dich interessiert
    so einfach sieht eine msg box in assembler aus(MASM)
    hat sehr grosse änlichkeit zu c++

    .386;32bit
    .model flat, stdcall
    
    include \masm32\include\windows.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\user32.lib
    
    .data
    Caption db "Masm Box",0
    Text 	db "This is a MASM-MessageBox",0
    
    .code
    start:
    	invoke MessageBox,NULL,addr Text,addr Caption,MB_ICONHAND;schreibe msgbox
    	invoke ExitProcess,0;mit 0 Zurückkehren
    end start
    

    das ganze so assemblieren :ml /c /coff /Cp dateiname.asm
    und linken: link /subsystem:windows dateiname.obj
    und fertig 🕶

    gruss reima



  • Die Frage ist halt, was es nützt. Dann kann man's ja gleich in C schreiben.



  • Ringding schrieb:

    Die Frage ist halt, was es nützt. Dann kann man's ja gleich in C schreiben.

    ja natürlich aber
    1. macht viel mehr spass das ganze in asm zu machen 🕶
    2. ist nicht viel schwerer als in c++
    3. die exe ist deutlich kleiner als die in c
    4. evt. schneller 😕

    gruss reima



  • reima schrieb:

    4. evt. schneller 😕

    Du meinst die MessageBox poppt dann in 32 anstatt 46 ms auf?! 😃



  • Also das ist Schwachsinn - bei solchem MASM-Code hast du absolut keine Vorteile mehr gegenueber C++. 👎
    Und dann damit anzugeben, dass das 1337-Asm-Code ist, waere auch irgendwie arm. 😉



  • man kann auch mit vc++ kleine .exe dateien machen ...
    http://www.bytegeiz.de/article_1.php


Anmelden zum Antworten