மற்றவை

Mac எச்சரிக்கை: உண்மை மதிப்பாகப் பயன்படுத்தப்படும் ஒதுக்கீட்டைச் சுற்றி அடைப்புக்குறிகளைப் பரிந்துரைக்கவும்

ஆர்

ரூபிள்சாஹா

அசல் போஸ்டர்
டிசம்பர் 22, 2008
  • ஜனவரி 8, 2009
வணக்கம்
நான் இந்த குறியீட்டின் துணுக்கைப் பயன்படுத்துகிறேன்

வெற்றிட * கைப்பிடி_;

என்றால் (handle_ =dlopen('/System/Library/Frameworks/DiskArbitration.Framework/versions/A/DiskArbitration',RTLD_NOW))
{
printf('............');

}
இல்லையெனில் (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('.................');
}

ஆனால் நான் எச்சரிக்கை பெறுகிறேன்:
முதல் வரிக்கான 'உண்மை மதிப்பாகப் பயன்படுத்தப்படும் ஒதுக்கீட்டைச் சுற்றி அடைப்புக்குறிகளைப் பரிந்துரைக்கவும்' i, 'for' loop க்கு....இந்த எச்சரிக்கையிலிருந்து விடுபட யாராவது எனக்கு உதவ முடியுமா.. TO

kpua

ஜூலை 25, 2006


  • ஜனவரி 8, 2009
முதலில், if() அறிக்கைகளில் பக்க விளைவுகள் ஏற்படுவது பொதுவாக மோசமான வடிவம்.

இருப்பினும், சில சமயங்களில் நீங்கள் எதைக் குறிப்பிடுகிறீர்கள் என்பதைக் குறியீடாக்க இது எளிய வழியாகும் (உங்கள் எடுத்துக்காட்டில் இது அவசியம் இல்லை என்று நான் நினைக்கிறேன்). if கூற்றில் உங்களுக்கு ஒரு அசைன்மென்ட் இருக்கும்போது, ​​GCC பொதுவாக இது போன்ற ஒன்றை எதிர்பார்க்கிறது:

குறியீடு: |_+_|
ஒதுக்கீட்டைச் சுற்றியுள்ள கூடுதல் அடைப்புக்குறிகளைக் கவனியுங்கள். பின்வரும் பிழையைத் தவிர்க்க அடைப்புக்குறிகளைப் பயன்படுத்துமாறு GCC பரிந்துரைக்கிறது:

குறியீடு: |_+_|
இது foo க்கு ஒதுக்கப்பட்ட மதிப்பு NULL க்கு சமமாக இருப்பதை சரிபார்க்காது, மாறாக boolean (bar() != NULL) ஐ fooக்கு ஒதுக்குகிறது.

அங்கு வெளிப்படையான பூலியன் சோதனையை வைத்திருப்பது வழக்கம் மற்றும் பொதுவாக மிகவும் தெளிவானது, அதனால்தான் GCC இதை எதிர்பார்க்கிறது. எஸ்

சாண்டர்

செய்ய
ஏப்ரல் 24, 2008
  • ஜனவரி 9, 2009
அறிக்கையும் காரணம்

குறியீடு: |_+_|
சரியான C (a க்கு b ஐ ஒதுக்கி பூஜ்ஜியம் அல்லாததைச் சரிபார்க்கவும்), ஆனால் பெரும்பாலும் மக்கள் உண்மையில் அர்த்தம்

குறியீடு: |_+_|
if() க்குள் உள்ள ஒதுக்கீடு விதிவிலக்காக இருப்பதால், GCC அதைப் பற்றிய எச்சரிக்கையை வெளியிடுகிறது. மேலும் உங்கள் குறியீட்டை எதிர்காலத்தில் படிப்பவர்களுக்கு, கூடுதல் அடைப்புக்குறிகள் 'ஆம், நான் உண்மையில் இங்கே பணியைத்தான் சொல்கிறேன்' என்பதைக் குறிக்கிறது.