17 EYLÜL 2013, Salı
Ne "..." C kod anahtarı-durumda
Burada /usr/src/linux-3.10.10-1-ARCH/include/linux/printk.h
kod parçası:
static inline int printk_get_level(const char *buffer)
{
if (buffer[0] == KERN_SOH_ASCII && buffer[1]) {
switch (buffer[1]) {
case '0' ... '7':
case 'd': /* KERN_DEFAULT */
return buffer[1];
}
}
}
Operatör bir tür. Neden "C Programlama Dili" değil o söz?
CEVAP
17 EYLÜL 2013, Salı
Bugcc
extension called case rangesBu belgede açıklanmıştır nasıl bir
Tek bir durumda ardışık değerleri bir dizi etiket, bu gibi belirtebilirsiniz:
case low ... high:
gcc extensions here tam bir listesini bulabilirsiniz. clang also supports this gibi çalışın gcc
ile uyumlu kalmak gibi görünüyor. Bu standart olmayan, örneğin ya da herhangi bir şekilde gcc
clang
-pedantic
bayrağı kullanarak sizi uyarır:
warning: range expressions in switch statements are non-standard [-Wpedantic]
İlginç Linux kernel uses a lot of gcc extensions makalede uzantıları yer almayan bir deyim ifadeler olduğunu unutmayın.
Bunu Paylaş:
Bu ne anlama geliyor? &;'NSUnknow...
YAY kullanmak için bir proje dönüştürü...
Bir "statik final Logger" ÜS...
MySQL "Anahtarı Verimlilik"...
Adını&;--> quot;" operatör?...