Hatalar, hatalar, sorular - sayfa 2529

 
A100 :

Tanımlayıcılardaki geçerli karakterler hakkında soru. Misal

Sonuç olarak:

boşluklu bir değişken tanımlayıcı aldı.

Örneği şu şekilde yeniden yazarsak:

o zaman bir çelişki formüle edebiliriz: (1) ve (2) arasındaki fark nedir?

Eh, mikrolitre cinsinden c / c ++ açısından bir hata. ## operatöründen önce/sonra istediğiniz sayıda boşluk/yorum ekleyebilirsiniz, önce belirteçlere bölünecek ve ardından önişlemci başlayacaktır, yani. bu boşlukları bile görmeyecek, standartta bir örnek var (hash_hash):

 #define hash_hash # ## #
#define mkstr(a) # a
#define in_between(a) mkstr(a)
#define join(c, d) in_between(c hash_hash d)
char p[] = join(x, y);     // equivalent tochar p[] = "x ## y";
 #define MACRO( x )              x ##:AAA

yalnızca birlikte geçerli bir belirteç oluşturan belirteçler kullanılabilir.

Not: Bazıları c / c ++ 'ın onlar için bir otorite olmadığını söylüyor, neden her zaman hatırlandıklarını söylüyorlar ve genel olarak burada değil ..., belki doğru açıklamaya sahipler?

 
Vict :

belki iyi bir açıklamaları vardır?

Genellikle bir açıklamaları vardır: Akıllı geliştiriciler bunu böyle amaçlamıştır)
 
Büyük kaynak dosyalarla çalışırken ME çok donuyor - 30 megabaytlık iki dosya, birinden diğerine geçmek bile, özellikle birinden diğerine büyük miktarda kod kopyalarsanız, donmaya neden olur. Ve genel olarak, bu tür dosyaları düzenlemek, ağır çekimde çalışmaya yol açar - yorucu.
 
Aleksey Vyazmikin :
Büyük kaynak dosyalarla çalışırken ME çok donuyor - 30 megabaytlık iki dosya, birinden diğerine geçmek bile, özellikle birinden diğerine büyük miktarda kod kopyalarsanız, donmaya neden olur. Ve genel olarak, bu tür dosyaları düzenlemek, ağır çekimde çalışmaya yol açar - yorucu.

30 MB metin iş için açıkça gerekli değildir. Bir kez acı çekin, ardından bu verileri dahil edin.

 
Andrey Khatimlianskii :

30 MB metin iş için açıkça gerekli değildir. Bir kez acı çekin, ardından bu verileri dahil edin.

Veriler aynı türdendir ve sürekli düzenlemeye tabidir, danışmanı değiştirmek için temel oluştururlar.

 
Bu konu ile ilgili olmayan yorumlar " OOP, mql5'te şablonlar ve makrolar, incelikler ve kullanım teknikleri " bölümüne taşınmıştır.
 
Aleksey Vyazmikin :
Büyük kaynak dosyalarla çalışırken ME çok donuyor - 30 megabaytlık iki dosya, birinden diğerine geçmek bile, özellikle birinden diğerine büyük miktarda kod kopyalarsanız, donmaya neden olur. Ve genel olarak, bu tür dosyaları düzenlemek, ağır çekimde çalışmaya yol açar - yorucu.

Bence tüm metin editörleri böyle davranır

her neyse, bu kadar büyük kaynakları parçalara ayırmaya çalışmanız veya kodun bir kısmını kitaplıklara yeniden yazmanız gerekir ( kitaplık )

 

Lütfen bana küçük bir sorunla yardım edin. Belirli bir aralıkta aptalca yanıp sönecek olan LABEL adlı bir komut dosyasına ihtiyacınız var ve hepsi bu. Yanıp sönen frekansı kendim yapacağım ve koordinatları kendim belirleyeceğim, benim için asıl olan fonksiyonun kendisi.

Bir örnek buldum, ihtiyaçlarıma uyacak şekilde değiştirdim ama saçma sapan çıktı. İstediği gibi yanıp sönüyor, sonra her saniye, sonra birkaç saniyeliğine kayboluyor. Ve senaryonun siz durdurana kadar yürütülmesini istiyorum, belirli sayıda değil.

 for ( int i= 0 ; i< 50 ; i++)
   {
       if (! ObjectCreate ( 0 , "Blink" , OBJ_LABEL , 0 , 0 , 0 ))
   {
       Print ( "Not Create! Error - " , GetLastError ());
   }
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_XDISTANCE , 50 );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_YDISTANCE , 50 );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_CORNER , CORNER_RIGHT_UPPER );
   ObjectSetString ( 0 , "Blink" , OBJPROP_TEXT , "Test" );
   ObjectSetString ( 0 , "Blink" , OBJPROP_FONT , "Arial" );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_FONTSIZE , 18 );
   ObjectSetDouble( 0 , "Blink" , OBJPROP_ANGLE , 0 );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_ANCHOR , ANCHOR_RIGHT_UPPER );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_COLOR ,Red);
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_BACK , false );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_SELECTABLE , false );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_SELECTED , false );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "Blink" , OBJPROP_ZORDER , 0 );
   
   Sleep ( 200 );
   
   ObjectDelete ( 0 , "Blink" );
   
   Sleep ( 200 );
   }
 

Düzenlemeniz pek olası değildir, ancak genel olarak bir hata:

 #define A world
#define MAKESTR(L) #L

void OnStart () {
   Alert ( MAKESTR(A) );
}

uyarı: dünya

beklenen: Uyarı: A

 
Igor Makanu :

Bence tüm metin editörleri böyle davranır

her neyse, bu kadar büyük kaynakları parçalara ayırmaya çalışmanız veya kodun bir kısmını kitaplıklara yeniden yazmanız gerekir ( kitaplık )

EditPad Lite, gigabayt dosyalar, kopyalar ve düzenlemelerle harika çalışıyor - yardımcı programı gerçekten beğendim. Ve bu gerçek olduğu anlamına gelir. İlk yüklemenin onu açtığınızda veya sekme ile uzun süre çalışmazsanız olduğunu anlıyorum, ancak şimdi dosyayı düzenlemek bile çok zor.