C#(.net) dilinde windows için yazılmış bir programın linux versiyonunu oluşturma

Başlatan gocen, 04 Aralık 2011 - 23:44:05

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

gocen

merhaba, bir arkadaşımın datnet üzerinde yazdığı bir program var
bu programın linux versiyonunu oluşturmak çok zor olur mu?
nasıl bir yol takip etmek gerekir?
önerilerinizi paylaşırsanız sevinirim
Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa

sem

#1
Program ne programıdır tam olarak? Kullanılan birimler nelerdir gibi bilgileri verebilirseniz daha net cevaplar gelecektir...    .NET üzerinde milyondan fazla fonksiyon vardı sanırım, masaüstü, web, mobil gibi birçok platform da destekleniyor yanılmıyorsam... Uygulamayı biraz daha açmanız gerekecek sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

gocen

http://www.nurunsozu.com/OkumaWin.htm
programın web adresi bu ama, kodlar hakkında çok fazla bilgim yok
Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa

grayloop

hüzün ki en çok yakışandır bize
belki de en çok anladığımız
                                 H. Yavuz

gocen

#4
yani oturup baştan yazacağız mı diyorsunuz?
Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa

empax

#5
Mono'ya bir bakın derim.
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

microanaliz

#6
Program hangi dilde yazılmış? gerisi boş, o dille Linux altında derlenip Debian ya da başka paketleme ile paketlenecek iş bitecek...
MicroAnaliz

sem

Alıntı yapılan: microanaliz - 05 Aralık 2011 - 17:10:57
Program hangi dilde yazılmış? gerisi boş, o dille Linux altında derlenip Debian ya da başka paketleme ile paketlenecek iş bitecek...

Yani VB.NET ile yazılmışsa da Linux altında derlenecek ve iş bitecek öyle mi? Ya da C ile yazılmışsa bile örneğin dizin işlemi yapılıyorsa dahi sadece derlemek yeterli mi diyorsunuz?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

microanaliz

#8
Sayın sem0900 gerisi boş derken,genel bakış açısı bu değil mi?
MicroAnaliz

sem

#9
Bilemiyorum bu ne kadar bir objektif bir konu fakat ben sizden farklı düşünüyorum bu konuda. Çünkü eğer uygulama tamamen Windows'a yönelik bir uygulama ise bazı durumlarda sil baştan yapmak daha makul olabilir...

Hatta bu uygulama sisteme yönelik konfigürasyonlar içeriyorsa belki başka yolu bile olmayabilir. Örneğin regedit'in Linux'ta bir karşılığı var mı, ben yok diye biliyorum... Ya da mesaj kuyrukları, paylaşılan bellek (shared memory) gibi kavramları ne kadar taşınabilir yazılabilir ki... Sonuçta dilden bağımsız olarak sistemin API'sine göre değişiyor. API'ler de tabii sistemin işleyişine göre oluşturuluyor... Örneğin Linux'ta kullandığımız thread'i doğrudan Windows'ta çalıştırbiliyor muyuz acaba? Hiç fikrim yok; fakat sistem özellikleri gereği değişiklik gösterecek gibi duruyor.


Bunlar her iki tarafı da bilen kişilerin cevaplarını verebileceği sorular tabii... Fakat ben sizin söyleminizi bakış açısı olarak değil de sanki pratikteki çözüm olarak algıladığım için üzerine yönelmek istedim... Bakış açısı olarak bakıldığında da programı yazan arkadaşların bakış açısına kalıyor sanırım olay. Bir şey diyemeyeceğim...=) Uygulama özellikle Java uygulaması ise tabii ki çok sıkıntı çıkartmayacaktır örneğin =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

eribol

@microanaliz,  o kadar kolay olsaydı oyun yapım şirketleri linux için oyunlarını şipşak derler ve satarlardı, ne de olsa başka bir kayıp yok. Değil ki ne eleman ne de zaman ayırıyorlar(çoğunlukla).

Program pek sistemin temeline iniyor gibi değil. Mono ile halledilebilir gibi geldi ama yine de uğraştırır.

rutku

Bu program olduğu gibi ancak wine ile çalışır. Zaten sitesinde de öyle belirtiyor. Derlemek monoyla bile imkansız. Çünkü özel görsel parçacık kullanılmış (windows xp taskpane). Mono da bu bulunmuyor. Ayrıca dilin string kütüphanesi mono daki kütüphaneyle uyumlu olmayabilir. Uğraşılırsa linux altında mono ile derlenir. Fakat genel olarak mono uygulamalarına olumsuz bakılıyor.
Hayallerini kodla ...

uKiriş
Mezgeldek

gocen

sitedeki o bilgi yanlış-düzeltilecek-, wine ile önceki versiyonu çalışıyordu
şimdiki versiyonu datnet'de yapıldığı için wine ile çalışmıyor
Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa

if

Konunun başlığı düzenlense iyi olur. "Bir programın linux versiyonunu oluşturmak" değil de "Bilmem ne diliyle windows için yazılmış programın linux versiyonunu nasıl oluşturabilirim?" olabilir. Çünkü mesajlardan anladığım kadarıyla belirli bir dilde yazılmış belirli bir program için böyle bir şey isteniyor.

microanaliz

#14
Sisteme özel yazılmış, yani Nurettin Topaloğlu'nun yazmış olduğu assembyl dili, Windows için geçerli; çeviriciler bile bazen işe yaramaz.Olay tamamen o sistemin gereksinimlerine göre ayarlanmış. Ama işletim sisteminden bağımsız bir dille yazılmış ise kaynak kodları işlem için yeterli derecede görüyorum. Bir de o dile hakim olmak lazım ne istiyor ne istemiyor diye...
MicroAnaliz

ekremsenturk

#15
Dot.Net ile yazılmış bir program, teorik olaram mono ile çalışır. Dot.Net Gnu portalının C# derleyicisidir. NetFramework 2 ile uyumludur. konsol'dan
mono program.exe
olarak bir deneyin. Çalışmaz ise kaynak kodlarına ulaşılabiliyorsa, Window'a özel kodların yerine, Linux'taki alternatif olabilecek kodlar kullanılarak yeniden yazılabilir. Program Windows işletim sistemine özel bir işlem gerçekleştiriyorsa, unutun gitsin.

Nano68

#16
c# ile yazılan bir program Linux'a uyarlanılabilir mi?

rutku

Hayallerini kodla ...

uKiriş
Mezgeldek

eribol

Alıntı yapılan: rutku - 08 Aralık 2011 - 20:39:33
@Nano68 yazılanları okumuyor musun ?
Lua ile ileri derecede program yazmaktan kafa kaldıramıyor olsa gerek. Verilen cevaplar havada kalıyor bu sebeple.

sem

Alıntı yapılan: Nano68 - 08 Aralık 2011 - 18:26:13
c# ile yazılan bir program linuxa uyarlanabilirnirmi?


Sorunun cevabı bir üst ileti olan aşağıdaki alıntıda mevcut.

Alıntı yapılan: ekremsenturk - 08 Aralık 2011 - 17:08:56
Dot.Net ile yazılmış bir program, teorik olaram mono ile çalışır. Dot.Net Gnu portalının C# derleyicisidir. NetFramework 2 ile uyumludur. konsol'dan
mono program.exe
olarak bir deneyin. Çalışmaz ise kaynak kodlarına ulaşılabiliyorsa, Window'a özel kodların yerine, Linux'taki alternativ olabilecek kodlar kullanarak yeniden yazılabilir. Program Window işletim sistemine özel bir işlem gerçekleştiriyorsa, unutun gitsin.

@ekremsenturk'un dediklerine katılıyorum... Son cümle sadece biraz katı olmuş. Windows'a özel işlemlerin Linux muadili oluştrulabilirse eğer yine mümkün olacaktır uygulamayı çalıştırmak.

Bu arada mono'nun exe dosyalarını çalıştırdığını bilmiyordum. cs kaynak kodların derleyebiliyor ama Wine dışında ikili exe dosyasını çalıştırabilen bir ortam olduğunu bilmiyordum.



Programı vermişsiniz fakat pek açıklayıcı bilgi yok sanırım... Bu uygulamanın kaynak kodları elinizde mi? Hangi dil ve ortamda yazıldığı biliyor mu? Gerçi konu C# bölümünde ama, uygulama C# ile mi yazılmış?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

ekremsenturk

#20
Alıntı yapılan: sem0900 - 08 Aralık 2011 - 20:42:54
Alıntı yapılan: Nano68 - 08 Aralık 2011 - 18:26:13
c# ile yazılan bir program linuxa uyarlanabilirnirmi?



Bu arada mono'nun exe dosyalarını çalıştırdığını bilmiyordum. cs kaynak kodların derleyebiliyor ama Wine dışında ikili exe dosyasını çalıştırabilen bir ortam olduğunu bilmiyordum.




Mono veya .Net 'de derlenmiş dosyaların uzantılarıda .EXE ama diğer .EXE formatı ile ilgisi yok. Window uzantısı .EXE olmayan ikili dosyaların çalışabilmesine izin vermiyor. EXE uzantılı dosyaların formatları aslında ikili dosya değil ve doğru biliyorsam, şu an 3. nesil EXE formatı kullanılıyor.

Bazı Basic derleyicileri kaynak kod ile bağlanmaya izin veriyor ve bu şekilde taşınabilir (derleyicinin kurulu olmadığı bilgisayarda da çalışabilir) programlar yazılabilmesine olanak tanıyorlar. Tahminime göre, .EXE formatlı dosyalar da bunun benzeri bir yapıya sahipler.

Nano68

#21
Alıntı yapılan: rutku - 08 Aralık 2011 - 20:39:33
@Nano68 yazılanları okumuyor musun ?
kusura bakmayın orada anlatılanlardan pek bir şey anlamadım

gocen

#22
programın tam olarak hangi dilde yazıldığını öğrenip buraya yazarım(ama tahminim java)
yalnız programın uzantısı exe değil msi
mono ile çalıştırdığımda şunu dedi
Cannot open assembly 'RNurOkuma41Setup.msi': File does not contain a valid CIL image.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 09 Aralık 2011 - 15:50:31

program C#'da yazılmış
Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa

ekremsenturk

MSİ: Microsoft İnstaller (kurulum dosyasıdır)
Wine ile kurulabilir olmalı. Kurulumdan sonra Wine, programlarım dizininde bulabileceğin .EXE uzantılı dosyayı mono ile çalıştırabilirsin. Bunu yapabilmek için Terminal'den(Uçbirim) .EXE dosyasının bulunduğu dizine girmelisin veya .EXE dosyasını kullanıcı dizinine kopyalamalısın.

gocen

Ayinesi iştir kişinin lafa bakılmaz,
Şahsın görünür, rütbe-i aklı eserinde.
Ziya Paşa