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

  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • George McCarron

    George McCar

    29 Mayıs 2013
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009