Hatalar, hatalar, sorular - sayfa 1336

 

Bütün sorun bu 24 bayt yüzünden mi yoksa ne? Üzgünüm, bir hesap makinesinde MT için yazılım yazmaya mı çalışıyorsunuz :)?

Elbette özür dilerim, ancak sorunu parmağınızdan çekerek, geliştiricilerin temsilcilerinin zaten nadiren fark ettiği diğer insanların sorularının üzerine yazıyorsunuz.

 
Alexey Navoykov :

Öyleyse neden yıkıcıyı optimize etmiyorsunuz? Sadece onun yüzünden saklanacak ekstra 8 bayt ...

Şey, orada her şeyi nasıl uyguladığınızı bilmiyorum. Diyelim ki bir dizi nesne varsa:

Her öğe için sistemde bağlantılar (işaretçiler) depolanıyor mu?

Bu anlaşılabilir bir durumdur, ancak bir yapıya işaretçi alamazsınız ve bu, onu kullanma rahatlığını azaltır. Bu nedenle, burada bazen acı verici bir seçim yapmak zorunda kalıyorsunuz... Şimdi,sınıfın büyüklüğü azaltılabilseydi, o zaman harika olurdu. Ve yapıya bir işaretçi de ortaya çıkarsa, o zaman genel güzellikte)

Yeni operatörle nesneleri dinamik olarak oluşturun ve hiç boş nesneler oluşturmanıza gerek kalmayacak.

Bir yapıya bir işaretçi tarafından başvuru yapılamaz, ancak yapıya başvuru yoluyla iletilebilir, örneğin: OrderSend(MqlTradeRequest& request, MqlTradeResult& result) - çoğu durumda bu yeterlidir.

 
Konstantin Karpov :

24 bayt yüzünden bütün sorun bu mu yoksa ne? Pardon, hesap makinesinde MT için yazılım mı yazmaya çalışıyorsunuz :)?

Elbette özür dilerim, ancak sorunu parmağınızdan çekerek, geliştiricilerin temsilcilerinin zaten nadiren fark ettiği diğer insanların sorularının üzerine yazıyorsunuz.

Öncelikle dizilerin ne olduğunu öğrenin.
 
Alexey Navoykov :
Öncelikle dizilerin ne olduğunu öğrenin.

peki, onları birkaç yıl önce inceledim :) sınıf nesnelerini bir diziye sürerseniz, ardından bir işaretçiler listesi oluşturursanız ve "yığın" içinde sınıf nesneleri oluşturursanız, size yeni operatör hakkında doğru bir şekilde söylendi ...

Başlangıçta "yığın" içinde yer alan sınıfların nesneleri tarafından işlenen büyük tüm verilere sahibim, PC'deki bellek 8 gigabayttır ve bu belleğin bir hata yaptığımda bile nasıl sonuna kadar kullanıldığını görüyorum. algoritma bir kez ve bir bellek sızıntısı başladı, bellek %95'e kadar tıkandı ve ardından işletim sistemi her şeyi kendisi temizlemeye başladı.

Bu yüzden gücenmiş bir çocuk gibi davranmamak daha iyidir , dilin tüm olasılıklarını kendiniz araştırın ve başaracaksınız :)

 
Vasiliy Sokolov :

Yeni operatörle nesneleri dinamik olarak oluşturun ve hiç boş nesneler oluşturmanıza gerek kalmayacak.

Yapıya bir işaretçi tarafından başvuru yapılamaz, ancak yapı referans olarak iletilebilir, örneğin: OrderSend(MqlTradeRequest& request, MqlTradeResult& result) - çoğu durumda bu yeterlidir.

İpuçlarınız ne için? Sanki satırları okuyup bir şeyler yazmayı tercih ediyorlarmış gibi geliyor. Sınıf büyüklüğü ile ilgili. Bu boyut, nesnenin statik veya dinamik olarak nasıl oluşturulduğuna bağlı değildir. Ve "boş nesneler yaratmak" genellikle ne olduğunu anlamadım. Ve bir fonksiyona argümanları iletmek de burada tamamen konu dışı. Sizce biz burada küçük çocuklar mıyız, nesnelerin nasıl bir fonksiyona aktarıldığını bilmiyoruz?

 
Konstantin Karpov :

peki, onları birkaç yıl önce inceledim :) sınıf nesnelerini bir diziye sürerseniz, ardından bir işaretçiler listesi oluşturursanız ve "yığın" içinde sınıf nesneleri oluşturursanız, size yeni operatör hakkında doğru bir şekilde söylendi ...

Başlangıçta "yığın" içinde yer alan sınıfların nesneleri tarafından işlenen büyük tüm verilere sahibim, PC'deki bellek 8 gigabayttır ve bu belleğin bir hata yaptığımda bile nasıl sonuna kadar kullanıldığını görüyorum. algoritma bir kez ve bir bellek sızıntısı başladı, bellek %95'e kadar tıkandı ve ardından işletim sistemi her şeyi kendisi temizlemeye başladı.

Bu yüzden gücenmiş bir çocuk gibi davranmamak daha iyidir , dilin tüm olasılıklarını kendiniz araştırın ve başaracaksınız :)

Başka bir akıllı adam... Hesap makinesiyle başladım, şimdi 8 konser umurunda bile değil. İşaretçiler ve bir demet hakkında - parlak bilginiz ne için? Burada biri işaretçilerin ne olduğunu sordu mu? Yoksa hayat hakkında konuşmak bu kadar kolay mı?

Genel olarak, arkadaşlar, sizden ciddiyetle başka bir konuya geçmenizi rica ediyorum, lütfen, burada kimse tavsiyenizi istemedi. Diyalog özellikle geliştirici ile gider.

 
Alexey Navoykov :

İpuçlarınız ne için? Sanki satırları okuyup bir şeyler yazmayı tercih ediyorlarmış gibi geliyor. Sınıf büyüklüğü ile ilgili. Bu boyut, nesnenin statik veya dinamik olarak nasıl oluşturulduğuna bağlı değildir. Ve "boş nesneler yaratmak" genellikle ne olduğunu anlamadım. Ve bir fonksiyona argümanları iletmek de burada tamamen konu dışı. Sizce biz burada küçük çocuklar mıyız, nesnelerin bir fonksiyona nasıl aktarıldığını bilmiyoruz?

Dinle, akıllı adam, git ilk önce yönetilen bir bellek ortamında programlamanın temellerini öğren: sana açıkça söylendi ki bir sınıf, hatta boş bir sınıf bile belirli meta veriler içeriyor. Boyutları ve organizasyonları optimaldir. Sen kimsin ki geliştiricilere nasıl derleyici yazılacağını ve verileri nasıl doğru şekilde depolayacağını öğreteceksin!? Birkaç bayttan tasarruf etmek istiyorsanız, bisikletinizi C veya Assembler'da oluşturun.

ps Boşanmış, "Yeni Başlayanlar için C" yazan ve ardından tavsiye veren akıllı insanlar.

 
Alexey Navoykov :

Başka bir akıllı adam... Hesap makinesiyle başladım, şimdi 8 konser umurunda bile değil. İşaretçiler ve bir demet hakkında - bu harika bilginiz ne için? Burada biri işaretçilerin ne olduğunu sordu mu? Yoksa hayat hakkında konuşmak bu kadar kolay mı?

Genel olarak, arkadaşlar, sizden ciddiyetle başka bir konuya geçmenizi rica ediyorum, lütfen, burada kimse tavsiyenizi istemedi. Diyalog özellikle geliştirici ile gider.

İfadelerinize bakılırsa, terminalin belleğini tek bir boyutla dolduracak kadar çok olan sınıf nesneleri dizileriyle çalışıyorsunuz, bu görünüşe göre çok yavaşlamaya başlıyor, aksi takdirde bu sorunu gündeme getirmezdiniz. Verilerinizle çalışmaya yönelik yanlış yaklaşımın stratejik olarak seçildiğini düşünüyorum ve bu konuda size birden fazla tavsiye verildi:

- nesneleriniz için "yığın" içinde bellek ayırın ve terminalin belleği tıkanmayacaktır

- büyük miktarda işlenmiş bilgiyi bellekte tutmayın, ancak verileri diske yükleyin, bu, yanlışlıkla bir arıza durumunda verilerin kaybolmasını önler, gerekirse veriler programlı olarak da yüklenebilir

ve sadece geliştiriciyle, yani bir hizmet masasıyla sohbet etmek istiyorsanız, tavsiye üzerine ağırlaşmaya değmez, ancak burada bir sürü insan var :)

 
Renat Fatkhullin :
Bir sorum var - Terminal (MT4, MT5x86 ve MT5x64) tarafından Uzman Danışmanlar için ne kadar bellek tahsis ediliyor?
 

Geliştiriciler mizahsız değildir

Benim için bu yükleniyor ve "İndir", bir ağacı sağa veya sola sallamak gibi bir şey.