Pojawiło się pytanie, czy należy opakować extern "C"
przy użyciu #if
lub #ifdef
. tj .:Czy __cplusplus może być kiedykolwiek zdefiniowany i równy zeru?
#if __cplusplus
extern "C" {
#endif
lub
#ifdef __cplusplus
extern "C" {
#endif
Które nasuwa się pytanie: czy kiedykolwiek sytuacja, w której __cplusplus jest zdefiniowana jako równa zeru?
przypadku korzystania z kompilatora C następnie '__cplusplus' nie zostaną zdefiniowane w ogóle - więc myślę, że' # ifdef' jest właściwym wyborem. –
@MarkRansom: Nie jest to konieczne, możesz '#if X', jeśli' X' jest niezdefiniowany, zgodnie z normą. –