2016-03-28 12 views
1

Ubuntu'da bir dosyayı kaydetmem gereken bir programım var. Program benim yerel PC'imde iyi çalışır ancak linux veya windows çalıştırıp çalıştırmamaları halinde diğer bilgisayarlar için tek bir exe kullanmak isterim. Peki, her yerde çalıştığı dosyayı depolamak için nasıl yol vermeliyim?Windows için olduğu kadar linux için de çalıştırılacak yolu tanımlama

+1

Bunu, çalışan emülatör veya sanal makine olmadan yapamazsınız. –

+0

@noobkid Ortam değişkenlerini kullanın, ancak her bir işletim sistemi için bunları tanımlamakla ilgili farklılıklar farklı olacaktır. Daha sonra kodunuzda dosyayı '$ (MY_EXE_DIR)/dosya/goes/here' olarak yazabilirsiniz. Windows '$ (MY_EXE_DIR)' 'C: \ Users \ MyExe 'olabilir, linux'da'/home/me/MyExe/'olabilir. Değişkenleri oluşturmak için bir betik/toplu iş dosyasını yürütülebilir dosyanızla birlikte dağıtmak yararlı olabilir. – yano

+0

Oh evet kesinlikle farklı hedefler için kaynağınızı derlemeniz gerekecektir. Eğer aynı ikiliyi hem windows hem de linux üzerinde çalıştırmayı kastediyorsanız, o zaman herkesle aynı fikirdeyim. – yano

cevap

0

Üzgünüz, ama istediğini yapamazsın.

Bir İşletim Sistemi bir program çalıştırdığında, bilmesi gereken şeyleri bulmak için dosyaya bakar. Windows ve Linux bu bilgileri uyumsuz yollarla saklar, böylece hem Windows hem de Linux altında çalışacak bir dosya oluşturamazsınız.

+0

Ancak, kodun hangi işletim sisteminde çalıştığını algılamanın bir yolu varsa ve yolu buna göre kullanırsak ... sadece pencereler farklı bir yol stiline sahiptir. Hipotezim doğruysa o zaman nasıl exe çalışma zamanında mı gidecek? – noobkid

+0

Okumak için bir kitap verildiğini düşünün. Kitabın takip edecek talimatları içerdiği söylendi, ama maalesef kitap anlamadığınız bir dilde basıldı. Windows, bir Linux programını gördüğünde (veya tersi) böyle hissediyor. –

+0

Tamam. Bu yüzden linux ve pencereler için ayrı kod yazmam gerekecek. : s – noobkid

İlgili konular