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
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ş.

Herhangi bir C derleyici için 1 (bool ...
Nasıl jquery ile bir bağlantı tıklatın...
:Dışındakiler mercurial, svn kullanara...
Android bir düzen içinde altı çizili m...
Nasıl vim iki açık dosyaları (böler) p...