return -Zahl in C

Code:
interpreter /lib64/ld-linux-x86-64.so.2

Das hier fehlt bei mir komplett, wobei das nichts damit zu tun haben dürfte...
 
Code:
return: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]= <checksum>, not stripped
Sieht bei mir genau so aus. Ich habe das jetzt auf drei verschiedenen Ubuntu-Maschinen versucht (14.04, 2x 15.10) und bei mir kommt immer 252 raus. Äußerst merkwürdig das Ganze...
 
Ich kann mir gut vorstellen, dass irgendwo in den Shell Einstellungen, sowas in der Art vermerkt ist.

# Letzen Wert des zuletzt aufgerufenem Programmes speichern
returnValue=$?
((returnValue> 128)) && ((returnValue=returnValue-256))

Und tada, da hat man seine Minuszahl.

Gruß Muletto
 
interessant wäre mal Werte die nicht mehr in 8/16 Bit passen sowohl positiv als auch negativ

int sind ja fast immer 32Bit breit...
 
@xActionx Poste doch mal die Binary, bitte. Auf nem topaktuellen Arch bekomme ich auch 252 raus (egal ob clang oder gcc, bash oder zsh), aber mich interessiert das jetzt. :D
 
Hallo leute

Hab vollkommen auf den Thread vergessen, sry. Aber nachdem ich das programm unter linux compiliert habe, habe ich als return wert 252 heraus bekommen. Nach absprache mit dem programmier Tutor war das richtig, insofern hab ich mich nur von den 40000000 verwirren lassem. Danke vielmals für eure antworten.

Gruß bmw4ever29
 
Ich kann euch gerne erklären, wieso ihr so verschieden Effekte beobachtet. Dazu muss man aber von jedem den Code haben. Man muss auch genau verstehen wie C und die Architektur funktioniert (implicit type conversion, endianess, program loader and interprocess communication...)
 
Zurück