Warum lässt sich dies nicht ausführen.

Dieses Thema im Forum "C/C++" wurde erstellt von kartoffel200, 29.04.2008.

  1. #1 kartoffel200, 29.04.2008
    Zuletzt bearbeitet: 29.04.2008
    kartoffel200

    kartoffel200 AMD Fanboy Since 2003

    Dabei seit:
    12.03.2007
    Beiträge:
    938
    Zustimmungen:
    0
    Ort:
    L wie localhost
    Wieso sagt er das über meine Binarydatei wenn ich sie als Root ausführen möchte ?
    PHP:
     cannot execute binary file
    Der Code der Datei ist
    PHP:
    #include <iostream>
    #include <string>
    #include <stdlib.h>
    using namespace std;

    int main ()
    {

    cout<< "Hallo";
    return 
    0;
    system ("pause");
    }


    Kompiliert mit GCC per Konsole.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    - Ist das binary auch per chmod auf executable gesetzt?
    - Liegt das executable auf einer Partition die mit "noexec" gemountet ist?
     
  4. #3 x0r, 29.04.2008
    Zuletzt bearbeitet: 29.04.2008
    x0r

    x0r Bitschubser

    Dabei seit:
    20.12.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Berlin
    Das wird kompiliert ? Ohne Fehler ??
    cout<< ist eine c++-memberfunktion von iostreams
    Da wird es mit
    Code:
    g++ -o myExec myExec.cpp
    schon eher hinhauen...

    Was Anderes:

    "pause" ist IMHO ein command.com aufruf unter windows :)
    und generell solltest Du auch nix mehr ausführen, wenn Du schon die Hauptfunktion beendest (return 0;)

    MfG
     
  5. #4 Herr Nilsson, 30.04.2008
    Herr Nilsson

    Herr Nilsson Eroberer

    Dabei seit:
    21.03.2008
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    Dortmund
    x0r's Vermutungen stimmen: Mit gcc kann man das gar nicht übersetzen!

    Und noch ein Tip: Man sollte im Hinterkopf behalten, daß das Aufrufen von externen Befehlen aus C/C++ heraus mitunter gefährlich sein kann: Typisches Sicherheitsloch.
     
  6. #5 kotzkroete, 30.04.2008
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    gcc kann das compilen, aber g++ ist trotzdem komfortabler.
     
  7. #6 bytepool, 30.04.2008
    Zuletzt bearbeitet: 30.04.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    tja, aber im Zweifelsfall fuer den Angeklagten: Er sprach ja auch von GCC, nicht von gcc, und GCC kann auch fuer die GNU Compiler Collection stehen, wovon g++ ein Teil ist. ;)

    mfg,
    bytepool
     
  8. #7 Herr Nilsson, 30.04.2008
    Zuletzt bearbeitet: 30.04.2008
    Herr Nilsson

    Herr Nilsson Eroberer

    Dabei seit:
    21.03.2008
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    Dortmund
    @kotzkroete:
    Mea culpa: Der gcc C-Compiler kann es selbstverständlich übersetzen, aber es kann dann nichts mehr gelinkt werden:
    Code:
    $ cat make_my_day.cc
    #include <iostream>
    #include <string>
    #include <stdlib.h>
    using namespace std;
    
    int main ()
    {
    
    cout<< "Hallo";
    return 0;
    system ("pause");
    }
    
    $ gcc -o make_my_day make_my_day.cc
    /var/tmp//ccRxYH1N.o(.text+0x19): In function `std::__verify_grouping(char const*, unsigned long, std::string const&)':
    : undefined reference to `std::string::size() const'
    /var/tmp//ccRxYH1N.o(.text+0x70): In function `std::__verify_grouping(char const*, unsigned long, std::string const&)':
    : undefined reference to `std::string::operator[](unsigned long) const'
    /var/tmp//ccRxYH1N.o(.text+0xb0): In function `std::__verify_grouping(char const*, unsigned long, std::string const&)':
    : undefined reference to `std::string::operator[](unsigned long) const'
    /var/tmp//ccRxYH1N.o(.text+0xdd): In function `std::__verify_grouping(char const*, unsigned long, std::string const&)':
    : undefined reference to `std::string::operator[](unsigned long) const'
    /var/tmp//ccRxYH1N.o(.text+0x11a): In function `main':
    : undefined reference to `std::cout'
    /var/tmp//ccRxYH1N.o(.text+0x11f): In function `main':
    : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    /var/tmp//ccRxYH1N.o(.text+0x153): In function `__static_initialization_and_destruction_0(int, int)':
    : undefined reference to `std::ios_base::Init::Init()'
    /var/tmp//ccRxYH1N.o(.text+0x182): In function `__tcf_0':
    : undefined reference to `std::ios_base::Init::~Init()'
    /var/tmp//ccRxYH1N.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    
    Die Iostream-Funktionen haben nunmal ihre C++-Signaturen - und die werden, auch mit Tricks nicht, von keinem C-Compiler generiert.

    \begin{OT}
    @bytepool: Aha, GCC -> GNU Compiler Collection, gcc -> C-Compiler; wußte ich auch noch nicht :)) .
    \end{OT}
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 kotzkroete, 30.04.2008
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    Man müsste aber die c++ stdlib noch dazu linken können.
    Habe ich schon gemacht. g++ ist ja nur ein frontend für gcc ;)
     
  11. #9 Herr Nilsson, 30.04.2008
    Herr Nilsson

    Herr Nilsson Eroberer

    Dabei seit:
    21.03.2008
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    Dortmund
    <OT>@kotzkroete:
    Ich müßte mich schon ziemlich irren, wenn das klappen sollte; wir können ja [THREAD=37380]hier[/THREAD] weitermachen. Zeig' mir mal, wie Du das gemacht hast.</OT>
     
Thema:

Warum lässt sich dies nicht ausführen.

Die Seite wird geladen...

Warum lässt sich dies nicht ausführen. - Ähnliche Themen

  1. Samba lässt auf sich warten - Warum?

    Samba lässt auf sich warten - Warum?: Hallo, ich hab auf Etch Samba installiert und anfangs viele Daten draufgepackt. Dies ging auch sehr schnell mit über 90 MBIT, also es wurde fast...
  2. awk: warum gibt close -1 zurück ?

    awk: warum gibt close -1 zurück ?: Hallo, bei diesem Gawk-Skript liefert close() ein -1 zurück. Warum ? Das File sortiert.txt wurde erfolgreich von sort angelegt ... Ist ein close...
  3. Warum wird meine Antwort von den Moderatoren nicht freigegeben

    Warum wird meine Antwort von den Moderatoren nicht freigegeben: Hallo, ich habe am 02.08. im Unterforum Shell-Skripte den Beitrag "Kurzzusammenfassung der Befehle und Progr. für die shell" erstellt....
  4. Warum wird die IP-Adresse aller Forumsnutzer ständig an yahoo weitergeleitet?

    Warum wird die IP-Adresse aller Forumsnutzer ständig an yahoo weitergeleitet?: Zugegeben, das ist etwas provokativ gefragt. Aber die IP-Adresse ist ein personenbezogenes Datum, was den Datenkraken immens hilfreich bei der...
  5. Ars Technica: Warum Mark Shuttleworth weiter in Canonical investiert

    Ars Technica: Warum Mark Shuttleworth weiter in Canonical investiert: Canonical könnte heute bereits profitabel arbeiten, doch die Entwicklung der kommenden Ubuntu-Produkte verschlingt zunächst einmal viel Geld....