12 HAZİRAN 2010, CUMARTESİ
pragma tanımlamak makro
Bir şekilde diğer ifadeleri ile makro pragma bildirimi gömmek var mı?
Böyle bir şey başarmak için çalışıyorum:
#define DEFINE_DELETE_OBJECT(type) \
void delete_ ## type_(int handle); \
void delete_ ## type(int handle); \
#pragma weak delete_ ## type_ = delete_ ## type
Eğer varsa çözümleri (dalga için Kaydet) destek benim için sorun değil.
CEVAP
12 HAZİRAN 2010, CUMARTESİ
Eğer c99 kullanarak veya 0 x c ediyorsanız pragma operatörü olarak kullanılır
_Pragma("argument")
eşdeğerdir
#pragma argument
makrolar (c99 standardının bölüm 6.10.9 veya c 0x son Komite tasarının 16.9) kullanılabilir dışında
Örneğin,
#define STRINGIFY(a) #a
#define DEFINE_DELETE_OBJECT(type) \
void delete_ ## type ## _(int handle); \
void delete_ ## type(int handle); \
_Pragma( STRINGIFY( weak delete_ ## type ## _ = delete_ ## type) )
DEFINE_DELETE_OBJECT(foo);
içine koymak gcc -E
verir
void delete_foo_(int handle); void delete_foo(int handle);
#pragma weak delete_foo_ = delete_foo
;
Bunu Paylaş:
C #hata ayıklama yazdırma için makro t...
Neden o'In önceden tanımlanmış bi...
Kullanım D3 ve uygulamak için Parlak `...
İki alanları tanımlamak için nasıl &qu...
Nasıl bir işlev tanımlamak için birden...