Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
3699
Tıklama
0
Öne Çıkarma
shared object dosyaları nasıl açılır
E
13 yıl
Yüzbaşı
Konu Sahibi

merhaba. öncelikle şunu belirtmek istiyorum. programlama konusundan hiç anlamam, fakat daima ilgimi çekmiştir. beceremem diye elimi bulaştırmadım. bir şeylerin içine girip o ne, bu ne diyerek karıştırmayı severim.

kullandığım telefondan çekilen fotoğraflarda bir problem olduğunu düşünüyorum. aşırı sıkıştırma var. renk ayarları da garip.

telefonun kullandığı kamera dosyalarını buldum. bunların bazıları .so dosyası. library klasörünün içindeydi. zaten isimleri de libxxx.so şeklide. sanırım object file imiş. bazıları da .apk dosyası.

library komutu ile herhalde bu dosyalardanki yazılanlar çağırılıyordur. library nin çağırma işi yaptığını biliyorum bir tek.

her neyse fazla uzattım. bu .so dosyalarını açıp, karıştırmak istiyorum. açtıktan sonra araştıra araştıra neyin ne işe yaradığını öğrenebilirim belki de.

nasıl açabilirim? ya da dosyaları paylaş biz bakalım derseniz o da olur.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi eternal soul -- 18 Şubat 2012; 1:01:12 >

G
13 yıl
Yarbay

Onlar windowstaki dll dosyalarının linuxtaki karşılıkları. Maalesef içi açıp karıştırılmaz çünkü çalıştırılabilir binary dosyalardır.


Bu mesaja 1 cevap geldi.
E
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Onlar windowstaki dll dosyalarının linuxtaki karşılıkları. Maalesef içi açıp karıştırılmaz çünkü çalıştırılabilir binary dosyalardır.

olmayacak bir mantık kurayım peki binaryden terse gidilebilir mi?


Bu mesaja 1 cevap geldi.
S
13 yıl
Yüzbaşı

.so dosyalaır, bir programın içinden yüklenip çalıştırılacak dosyalardır. yani sizin ilgi alanınıza girmez.

bu dosyaları kullanmak için, ilgili sahred object'lerin refearnsını bilmeniz gerekir. örneğin, libpthread.so dosyası, içinde hangi fonksiyon var, nasıl çağrılıyor?

bu dosyalar iki türlü kullanılır. statik kullanımda, derlerekn oluşturulan kodun içine denir ki: "ey çalıştıran sistem, bir yerlerde bir xyz.so dosyası var, o dosyayı bu programa ekle". İşleten sistem, dosyayı bulur ve içindeki sembolleri asıl programa ekleyip relokasyon denen işi yapar. böylece so içindeki kodlar başka uygulamalar tarafından kullanılabilir.

bunun bir iyi tarafı şudur. linux/unix sistemleri, bir sürü shared object dosyasındaki kodu bellekte tek bir defa tutabilir. Böylece bir sürü program aynı kodlar için gereksiz bellek harcamaz. anyı ram'deki kod, bir sürü kod tarafından sorunsuz kullanılır ve performans ile bellekten kazanılır.

bir diğer yol ise, dlopen() fonksiyonu ile bu dosyalar açılıp, içlerindeki semboller teker teker yüklenerek yapılandır. buna dinamik yükleme, bağlama denir.

her ikiside orta seviye programcılık teknikleridir ve kod yazanlardan başkasını pek fazla ilgilendirmez.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.