Ben C++ programımı içine kaynakları gömme ile uğraşıyorum. Bunu yapmak için ben bu kaynakların bazıları başka bir şey dönüştürülür ve daha sonra orijinal veri sadece toplu olduğu yani (yüklendikten sonra kullanılmaz yaniStatik hafıza boşaltılıyor mu? hayır, bu doğru olamaz
unsigned char image_png[] ={
0x0a, 0x0b, 0x0c, 0x0d, ...
};
, basit bir diziye veri HexDump ... dağıtım kolaylığı için küçük bir yığın olsa da buna değer olabilir).
Kaynağın programa gömülmesinin bir yolu var mı diye merak ediyorum, bu yüzden en önemli kaynakları bulmak için ikili hakkında endişelenmenize gerek yok, ancak sonra bittikten sonra serbest bırakın Çalışma zamanı bellek ayak izinin bir vuruştan daha az alması için kullanılır.
Bu mümkün mü? Mümkünse, yapmaya çalışmak aptalca bir şey mi? Mesela, belki de os tüm program görüntüsünü yine de bellekte tutacaktır (tam olarak bunun nasıl çalıştığından emin değilim).
düzenleme: çapraz platform çözümleri varsa yorumlarınızı yanıtlamak için, Linux (Ubuntu 10,04) üzerinde çalışıyorum ama onlara birkaç kullanılıyor görüldü ettik
ilginç bir soru! – Milan
Üzerinde hangi işletim sistemini kullandığınızı bilmek daha iyi yanıtlara olanak tanır. – Novelocrat
Genellikle O/S, tüm yürütülebilir dosyaları fiziksel bellekte tutmaz. Programınızın bir bölümüne ilk kez erişmeye çalıştığınızda, bir sayfa hatası tetiklenir ve bu parça sabit sürücüden yüklenir. Bir süre kullanmazsanız, fiziksel bellekten kaldırılır. Tekrar erişmeye çalışmak, başka bir sayfa hatasıyla sonuçlanacaktır (düzenleme: bir sayfa hatası endişelenecek bir şey değildir, bir önbellek öznesi gibi) – Tomaka17