2017-07-30 3 views
-5

entfernt dieses Thema Zugriff halten, wie die Leute einfach bei UB stoppen ...was in Linux glibc passiert, wenn immer mehr Speicher von mehr als malloc() zugewiesene Größe

+1

Nicht definiertes Verhalten ist nicht definiert. Die Sprache lässt dich generell so in den Fuß schießen. Ungeprüfte Zugriffe sind schneller. – AndyG

+0

Die Antwort auf "Was passiert, wenn ich [Sache, die ich nicht tun darf]" in C oder C++ ist normalerweise, dass das Programm als Ergebnis buchstäblich alles tun darf. – user2357112

+0

Ich denke nicht, dass dies wegen Unklarheit geschlossen werden sollte. Brett fragt speziell, welches Verhalten in diesem Fall auftritt. – EvilTeach

Antwort

5

außerhalb des zugewiesenen Speichers ist undefined behavior Zugriff auf Sachen. Alles kann passieren. Ich höre Nasen-Dämonen sind eine Möglichkeit.

nasal demons

Wenn Sie Glück haben, könnten Sie eine Zugriffsverletzung/segfault erhalten. Wenn Sie kein Glück haben, dann kann eine andere Variable im Programm überschrieben werden, oder nichts kann beobachtet werden. Der Mond kann sich in das 7UP-Logo verwandeln, oder vielleicht drückt sich etwas Fiesliches aus Ihrem rechten Nasenloch aus.

+0

Nicht der Downvoter. Ich mag das [du machst das] (https://Stackoverflow.com/a/13444785/27678) – AndyG

+0

Muss den Punkt irgendwie nach Hause fahren :) Plus ich beauftragte und besitze das Bild. – EvilTeach

+0

Ich hasse es, Ihnen das zu sagen, aber indem ich es auf SO teile, besitzen Sie es nicht mehr [Legal] (https://stackexchange.com/legal) – AndyG

Verwandte Themen