Präprozessor einfache frage
-
Hallo,
ich verstehe folgenden code nicht. Mittels google und Sufu komme ich nicht zum Verstehen:
#ifdef SHMEM ptrs_buf = (int *) shmalloc(max_buf_size*sizeof(int)); #else ptrs_buf = (int *) malloc(max_buf_size*sizeof(int)); #endifKann es so sein dass wenn ich irgendwie ein flag beim compilieren setze - also hier z.B SHMEM (wie auch immer das geht) dann wird speziell mit der shmalloc routine compiliert. Ansonsten also normalerweise dann halt malloc?
Danke für eure geduldige Hilfe!
-
jippii_cc schrieb:
Hallo,
Kann es so sein dass wenn ich irgendwie ein flag beim compilieren setze - also hier z.B SHMEM (wie auch immer das geht) dann wird speziell mit der shmalloc routine compiliert. Ansonsten also normalerweise dann halt malloc?du kannst shmalloc auf zwei varianten anschalten: entweder du schreibst an eine beliebige stelle vor diesem #ifdef:
#define SHMEM
oder du rufst deinen compiler mit ein passenden parameter auf, dass er SHMEM setzt.
beim gcc geht das so: -DSHMEN