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

  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • The Verge

    The Verge

    8 AĞUSTOS 2006