SORU
23 ŞUBAT 2014, Pazar


C bool anlatan bir C başlık taklit edebilir miyim ?

Bir program yazıyorum ve gerçekten yazmayı tercih ederim C , ancak, C bool anlatan bir başlık eklemek gereği duyuyorum:

# define false 0
# define true  1
typedef int bool;

Bariz çözüm başlığındaki söylemek düzenlemek için:

#ifndef __cplusplus
# define false 0
# define true  1
typedef int bool;
#endif

ama, ne yazık ki, kütüphane salt okunur olduğundan veremem.

Gcc bu typedef görmezden söyleyebilirim bir yolu var mı? Ya da, C fonksiyonları yazmak ve iki C sarıcı yapın miyim? Ya, o kadar emmek ve C şey yazayım mı?

CEVAP
23 ŞUBAT 2014, Pazar


Bunu yapabilirsin!

Kütüphanem fooLib, çağrı tanımlama imtiyazı olan bool Bazı türü kullanarak düşünüyor. , bool kütüphaneye sadece bir tanımlayıcı.

Yani, başka bir tanımlayıcı yerine kullanmaya zorlayabilirsiniz:

#define bool fooLib_bool
#include "fooLib.h"
#undef bool
#undef true
#undef false

Şimdi derleyici soruna neden olan satırı bu haline görür:

typedef int fooLib_bool;

Sıkıştın ile arabirim kullanarak yazın fooLib_bool = int yerine gerçek bool ama imkansız böyle bir şey olması için bir çözüm olarak kod olabilir aslında güvenmek özellikleri int ve kütüphane ikili olurdu derlenmiş olan böyle bir varsayım pişmiş.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014