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!