मैं Compile Time Hashing technique I found here का उपयोग कर एक सी ++ परियोजना के साथ प्रयोग कर रहा था। मैक्रोज़ अपेक्षित काम करते हैं, और संकलन समय उचित है, लेकिन 64 रिकर्सिव मैक्रोज़ विजुअल स्टूडियो के इंटेलिजेंस के साथ नरक खेल रहे हैं। प्रत्येक छोटे संपादन के बाद, आईडीई ~ 30 सेकंड के लिए लटकता है। मुझे संदेह है कि यह घोंसला वाले मैक्रोज़ को पार्स करने की कोशिश कर घायल हो रहा है। जैसे ही मैं #include "consthashmacro.h
लाइन को हटा देता हूं, प्रतिक्रिया सामान्य हो जाती है।इस हेडर फ़ाइल को VS2005 को क्रॉल में धीमा कर देता है? (IntelliSense exonerated?)
क्या कोई विशिष्ट शीर्षलेख फ़ाइल के लिए Intellisense को अक्षम करने का कोई तरीका है?
मुझे यह आलेख "Controlling IntelliSense Through Macros" शीर्षक मिला है, लेकिन समाधान मेरे लिए सही तरीके से काम नहीं कर रहा है।
शायद यह intelliSense नहीं है? यह निश्चित रूप से उस हेडर से संबंधित है। कोई विचार?
संपादित करें:
मैं Intellisense अक्षम करने renaming the feacp.dll as recommended द्वारा पूरी तरह से कोशिश की। मुझे वही व्यवहार मिलता है - संपादन आईडीई को लंबी अवधि के लिए लटका देता है। हेडर को हटाने से प्रदर्शन बहाल हो जाता है। इस अविश्वसनीय अंतराल के कारण वीएस 2055 की अन्य विशेषता क्या हो सकती है?
पुन: पेश करने:
विजुअल स्टूडियो 2005 का उपयोग करना, डिफ़ॉल्ट सेटिंग्स के साथ एक नया "Win32 कंसोल अनुप्रयोग" बनाएँ (अर्थात: precompiled हेडर का उपयोग करके)। निम्नलिखित कोड को सीपीपी फ़ाइल में जोड़ें। स्रोत निर्देशिका (क्रिस सावोई की साइट पर zip file से उपलब्ध में (निकालें 'consthashmacro.h')
#include "stdafx.h"
#define CONSTHASH(s) ((s)[0])
//#include "consthashmacro.h"
void Send(long hash, long value)
{
printf("Sending %x %x\n", hash, value);
}
#define QQuot_(x) #x
#define QQuote(x) QQuot_(x)
#define Debug_Print(s, v) (Send(CONSTHASH(QQuote(__LINE__)##s), *((long*)&(v))))
int _tmain(int argc, _TCHAR* argv[])
{
int i = __LINE__;
float f= 3.14f;
Debug_Print("This is a test %d", i);
i++;
Debug_Print("This is a test %d", i);
Debug_Print("This was test %f", f);
return 0;
}
जब मैं इसे नीचे में शामिल हैं लाइन के साथ #define CONSTHASH
की जगह, प्रदर्शन धीमा हो जाता है।
क्या प्रोजेक्ट प्रीकंपिल्ड हेडर का उपयोग कर रहा है? शायद आप इस हेडर को इसमें रखने का प्रयास कर सकते हैं। – Praetorian
अच्छा विचार है, लेकिन (बाद में प्रतीक्षा करने के 5 मिनट ...) यह काम नहीं किया। – AShelly
वीएस -2010 'टूल्स> विकल्प> टेक्स्ट एडिटर> सी/सी ++> उन्नत' में मैं IntelliSense को अक्षम करने के विकल्प देखता हूं और ऐसे में वीएस2005 में उपलब्ध नहीं हैं? – nobody