DEV-CPP 5 wie erstellt man *.com executables



  • Hallo zusammen

    wie erstelle ich mit dev-cpp eine *.com Datei??? Was muß ich da für Compiler Optionen eingeben? Bin newbee in dem Gebiet.. :|
    Wäre nett wenn jemand noch ne gute Seite mit Tutorials/Infos diesbezüglich kennt.

    Grüße Sam



  • Genauer bitte, was verstehst du unter *.com-Datei?



  • Also ich möchte zum Beispiel folgendes machen:

    #include <stdlib.h>
    void main()
    {
      system("c:\\winnt\\system32\\cmd.exe /c ping 192.168.50.50");	
    }
    

    Wenn ich das Programm kompiliere funktioniert es auch, is aber mords fett wegen dem PE Header, ich möchte das ganze Programm als com kompilieren um es kleiner zu haben und dann in assembler umwandeln. Wie ihr merkt hab ich da noch nicht wirklich nen Plan von. Find leider auch keine Infos bzw weiß ich garnicht wo ich anfangen soll, geschweige denn wie man sowas gleich in assembler programmiert.



  • Aha. Und du glaubst, die paar hundert Bytes, die du da rauskriegst, machen es aus?



  • Der eigentliche Sinn der dahinter steckt ist das ich nicht Speicherplatz sparen will sondern ich möchte eine C Programm in Assembler konvertieren ohne den Header schnickschnack



  • disassemblieren kann man com-dateien genauso gut wie exe-dateien. noch cleverer wärs allerdings, direkt nach assembler zu compilieren. keine ahnung, wie man das in devc++ einstellt, aber die kommandozeilenoption ist -S



  • Das geht nicht. :p



  • Gibt es dein kein tool oder kein Compiler switch was nur assembler code ausgibt??

    Usage: mingw32-gcc [options] file...
    Options:
      -pass-exit-codes         Exit with highest error code from a phase
      --help                   Display this information
      --target-help            Display target specific command line options
      (Use '-v --help' to display command line options of sub-processes)
      -dumpspecs               Display all of the built in spec strings
      -dumpversion             Display the version of the compiler
      -dumpmachine             Display the compiler's target processor
      -print-search-dirs       Display the directories in the compiler's search path
      -print-libgcc-file-name  Display the name of the compiler's companion library
      -print-file-name=<lib>   Display the full path to library <lib>
      -print-prog-name=<prog>  Display the full path to compiler component <prog>
      -print-multi-directory   Display the root directory for versions of libgcc
      -print-multi-lib         Display the mapping between command line options and
                               multiple library search directories
      -Wa,<options>            Pass comma-separated <options> on to the assembler
      -Wp,<options>            Pass comma-separated <options> on to the preprocessor
      -Wl,<options>            Pass comma-separated <options> on to the linker
      -Xlinker <arg>           Pass <arg> on to the linker
      -save-temps              Do not delete intermediate files
      -pipe                    Use pipes rather than intermediate files
      -time                    Time the execution of each subprocess
      -specs=<file>            Override built-in specs with the contents of <file>
      -std=<standard>          Assume that the input sources are for <standard>
      -B <directory>           Add <directory> to the compiler's search paths
      -b <machine>             Run gcc for target <machine>, if installed
      -V <version>             Run gcc version number <version>, if installed
      -v                       Display the programs invoked by the compiler
      -###                     Like -v but options quoted and commands not executed
      -E                       Preprocess only; do not compile, assemble or link
      -S                       Compile only; do not assemble or link
      -c                       Compile and assemble, but do not link
      -o <file>                Place the output into <file>
      -x <language>            Specify the language of the following input files
                               Permissable languages include: c c++ assembler none
                               'none' means revert to the default behavior of
                               guessing the language based on the file's extension
    
    Options starting with -g, -f, -m, -O, -W, or --param are automatically
     passed on to the various sub-processes invoked by mingw32-gcc.  In order to pass
     other options on to these processes the -W<letter> options must be used.
    
    For bug reporting instructions, please see:
    <URL:http://www.gnu.org/software/gcc/bugs.html>.
    

    wie siehts mit dem -Wa Parameter aus??

    Gruß



  • <strong>***-S***</strong>



  • Okay hast ja recht hast ja recht. Allerdings ist das Ergebnis AT&T Syntax...
    Naja besser wie nix.

    Thx

    Gruß Sam



  • nimm einfach einen dos-compiler!


Anmelden zum Antworten