شظايا barfs على __thread ، وهو جزء من C99
-
01-10-2019 - |
سؤال
الجري الجافة
matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c
تتوقف على هذا الخط:
__thread int cpfs_errno;
مع خطأ في التحليل:
cpfs.c:127:13: Parse Error: Non-function declaration: __thread : int. (For help on parse errors, see splint -help parseerrors.) *** Cannot continue.
التحقق من الوثائق ويخرج الغرغرة دون ذكر __thread
. لكن __thread
هو جزء من المواصفات C99, ، أي جبيرة تدعم (إدراج مرجع).
ماذا يحدث هنا؟ كيف يمكنني الحصول على شظية للاعتراف __thread
?
المحلول
من شظية الأسئلة الشائعة, ، فقط اضف -D__thread=
إلى سطر أوامر الشظية. هذا سيكون له تأثير إزالة __thread
الكلمة الرئيسية من الكود أثناء فحصها. أفترض هنا أن الشظية لا يدرك الخيط بشكل خاص ، ولن تكون قادرًا على استخدام المعلومات التي تم نقلها إلى CCC بواسطة الكلمة الرئيسية.
نصائح أخرى
__thread
ليس في C99. إنه امتداد GNU C - القسم الذي ربطته هو في الداخل امتدادات لعائلة اللغة C. يصف الامتداد من حيث التغييرات على معيار C99 ، ويفترض أنه تحضير لاعتماده في مراجعة مستقبلية للمعيار.
لا تنتمي إلى StackOverflow