Du bist nicht angemeldet.

Werbeanzeige

1

01.02.2015, 12:22

Zeigergröße auf 32/64 bit Maschinen

Hallo,

ich arbeite seit einiger Zeit mit C und habe mit erstaunen fest stellen müssen, dass die Zeigergröße immer 4 byte groß ist, bei einem 64 bit Windows 8.1 OS.
Die müsste doch 8byte groß sein oder irre ich mich da?

Wieso ist das so?

Wäre euch über Antworten sehr dankbar

Mfg

PF

2

01.02.2015, 12:28

Du hast als Plattform nicht x64 eingestellt in deiner IDE / deinem Compiler.

3

01.02.2015, 12:29

Kann es sein das du dein Programm als 32-bit Binary compilierst? Eventuelle auf 64-bit umstellen.

Nimelrian

Alter Hase

Beiträge: 1 260

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

4

01.02.2015, 12:29

Kompilierst du auch mit 64bit? Wenn du mit der 32bit Version von Visual Studio z.B. auf einem 64bit Windows kompilierst, kommt am Ende immer noch eine 32bit exe raus, deren Pointer dann halt auch nur 4 Byte messen.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Architekt

Community-Fossil

Beiträge: 2 496

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

01.02.2015, 12:31

Hast du denn auch einen 64 Bit Compiler?

edit: unheimliche Ninjas...
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

dot

Supermoderator

Beiträge: 9 854

Wohnort: Graz

  • Private Nachricht senden

6

01.02.2015, 12:52

Wieso genau ist es wichtig, wie groß ein Zeiger ist? ;)

7

01.02.2015, 13:18

Also ich compiliere mit dem Compiler von VS 2013 für C. Wo kann ich da denn einstellen, das ich in 64 Bit compilieren will?

@dot
einfach nur so^^

Werbeanzeige