Windows'tan Linux'a taşıma [kapalı]


57

Bu iki gerçeği uzlaştırmam gerekiyor:

  1. Linux üzerinde çalışmaktan rahat hissetmiyorum;
  2. Linux için bir yazılım geliştirmem gerekiyor.

Bazı arkaplanlar: Windows'ta 10+ yıllık bir programlama tecrübem var (neredeyse sadece C / C ++, fakat bazı .NET'ler de), yaklaşık 3 yıl boyunca evde FreeBSD kullanıcısıydım (daha sonra geri dönmek zorunda kaldım). Windows) ve Linux'a hiç şansım olmadı. Ve şimdi Linux için bir yazılım geliştirmem gerekiyor. Bir plana ihtiyacım var.

Windows'ta, sadece bir programlama dili, kodladığınız bir API, IDE'niz (VisualStudio) ve sorun giderme için bazı çok temel araçlar (Depends, ProcessExplorer, DebugView, WinDbg) tanıyarak kurtulabilirsiniz. Her şey doğal geliyor.

Linux'ta bu çok farklı bir hikaye. Firefox eklentisinden bağlanırsam hangi DLL dosyasının (üzgünüm, Paylaşılan Nesne) yükleneceğini nasıl bileceğim? Kaynağa __asm ​​int 3 / DebugBreak () ekleme ve programı çalıştırma ve ardından işletim sisteminin hata ayıklayıcıyı çağırmasına izin veren Linux'un karşılığı nedir? Neden cehennem sürümleri appLoader adında bir şey kullanıyor, hata ayıklama sürümleri nedense farklı çalışıyor? Hepsinden kötüsü: Linux geliştirme ortamı nasıl sağlanmalı?

Öyleyse, nefretin genellikle yeterince bilmemekle ilişkili olduğunu dikkate alarak ne önerirsiniz? Emacs ve GCC ile iyiyim. Kendimi bir Linux yöneticisi / kullanıcısı olarak eğitmem gerekiyor ve yukarıda belirtilenlere eşdeğer olan uygun sorun giderme araçlarını (strace havalı, btw) öğrenmem gerekiyor.

Sıfırdan Linux yapmam gerekir mi? Yoksa sadece bazı kitapları okumam mı gerekiyor (Kernighan'ın "UNIX programlama ortamı" nı ve Stevens'ın "Gelişmiş Programlaması ..." nı okudum, fakat daha pratik bir şeyler öğrenmem gerekiyor)? Yoksa ev bilgisayarımda Linux dağıtımı yapmam gerekir mi?


73
Windows hakkında aynı hissediyorum

15
Daha rahat edeceğin başka bir iş bulmayı düşündün mü?

3
Unices'de mansenin arkadaşın. Ben man nmve man ldbir başlangıç ​​noktası olarak.
dietbuddha

1
pencereleri kullanmaya başlayın;)
Jigar Joshi

1
"Her şey doğal geliyor"? Tabii ki doğal olarak geliyor, 10 yıldır yapıyorsunuz. Linux daha kötü değil, farklı . Ve şimdi 10 yaşına geldiğinize göre, beyniniz alışıldığı kadar kolay yeni şeyler öğrenmez ve farklı olan her şey öğrenmeniz gereken bir şey haline gelir. "Linux berbat" ile her şeye yaklaşmak hayatınızı perişan edecek.
JesperE

Yanıtlar:


62

Her işletim sisteminin nasıl dinamik bağlantı yaptığını açıklayan Linux ve Windows'taki Dinamik Bağlantı makalesini ilginç bulabilirsiniz . Paylaşılan Kitaplık Arama Yolları makalesinde , kitaplıkların nasıl bulunduğu açıklanmaktadır. Ayrıca Statik, Paylaşımlı Dinamik ve Yüklenebilir Linux Kütüphaneleri çok iyidir. Linux kütüphaneleri hakkında güzel bir şey, sürümleri geliştirmek ve bunların etrafında bir kütüphanenin birçok sürümüne sahip olmaktan daha iyi bir desteğe sahip olmalarıdır (AFAIK, Windows yapmıyorum). Bunun için Solaris ve Linux'ta Kütüphane Arabirimi Sürümüne bakınız . Bu makaleler sizi gerçekten kütüphaneler ile örtbas ettirmelidir.

GDB çok güçlü, iyi bir giriş muhtemelen RMS'nin gdb'si . Koşullu kesme noktalarını okumak isteyebilirsiniz. Eşdeğerleri olması için __asm(int 3)soru bkz Linux üzerinde gdb programlı C veya C ++ kodunda yer alan kesme noktası .

Marc Rochkind'den Advanced Unix Programming kitabı mutlaka okunması gereken bir IMHO. Çok fazla örnek var ve tüm POSIX / SUS konularını çok iyi anlatılmış bir şekilde ele alıyor. Bu konuyla ilgili şu ana kadar okuduğum en iyi kitap.

Fakat hayatınızı kolaylaştırmak için, Qt gibi sizin için işleri özetleyen yüksek seviyeli bir API kullanmanızı öneririm. Ayrıca, çapraz platform yazmayı çok daha kolaylaştırır.

Linux'u Sıfırdan Yapmak, bir Linux sisteminin nasıl oluşturulduğunu anlamanıza yardımcı olur, ancak geliştiricilerin bakış açısından bu konudaki bilgilerinizi pek iyileştirmediğini düşünüyorum. Bir Linux ortamında hangi kısımların olduğunu (ve kısmen de neden olduğunu ) öğrendiğiniz için, Linux ile daha rahat etmenizi sağlar . Bir Linux, Linux From Scratch ile çalıştıktan sonra sizin için büyük bir kara kutu olmayacak.


Tabii, 32bit sistemde bu kesme işlemi, işlem zaten hata ayıklanmışsa , hata ayıklayıcısını kıracak . Ben soruyorum eğer budur. Windows , tuzak gerçekleştikten sonra hata ayıklayıcı eklemenize izin verir . Bazı senaryolarda, bu son derece kullanışlıdır. Ve bağlantılar için teşekkürler!
44'te rincewind

6
Mükemmel cevap! Not, gdb dersi için, RMS, "Richard M. Stallman" değil, "Ryan M. Schmidt" dir. (Stallman,
GDB'nin

Windows, yaklaşık 12 yıl boyunca desteklenen Yan Yana ( msdn.microsoft.com/en-us/library/ms229072(v=vs.80).aspx ) kitaplığına sahipti . Yani sürüm konusunda oldukça yanılıyorsun.
Claus Jørgensen

16

İsterseniz strace, unutmayın ltrace: kütüphane çağrıları için eşdeğerdir.
Ayrıca, evet, Sıfırdan Linux'u öneririm . İşletim sisteminin temel öğelerini ve bunların nasıl bir araya geldiğini çalışmak konusunda iyi bir egzersiz.
Modern, eksiksiz bir sistem programlama referans işlemi için, Linux Programlama Arayüzünü almanızı tavsiye ederim .


12

Mac OS X bir Mercedes gibidir; en güzel ve en temiz ama çok pahalı. Windows bir Toyota gibidir; seni oraya geri götürecek.

Linux sıcak bir çubuk gibidir; İnsanların içine girip parçalanıp tekrar bir araya gelmeleri. Linux, bilgisayarı kullanmak isteyenler için değildir; bilgisayarları seven insanlar için. Bilgisayarları sevmeyen insanlar ondan uzak durmalı.

Windows'ta öğrendiklerin çok iyi çevrilmiyor, hayır. Ama iç kısımları görüp motorun çalışmasını izleyeceksin.

Linux'u yeni bir oyuncak olarak almaya çalışın, oynayabileceğiniz ve sürünerek neler olup bittiğini görebilirsiniz. Windows'ta kolay olan şeyler Linux'ta daha zordur; Windows'ta imkansız olan şeyler Linux'ta mümkündür.

Bilgisayarları seviyorsanız Linux'u da sevebilirsiniz; bilgisayarları sevmiyorsan neden programlıyorsun?


13
+1, " Windows'ta kolay olan şeyler Linux'ta daha zordur; Windows'ta imkansız olan şeyler Linux'ta mümkündür ". " Windows önceden sindirilmiş yiyecekleri ağzınıza soksa da, Linux ile yemek yapma şansına sahip olursunuz ve bunun için ödül, istediğiniz şeyi yemenizdir " ... Tabii ki, yenilebilir olsun ya da olmasın ne kadar iyi bir şef olduğuna çok bağlı ...
Alain Pannetier

14
@Andy: "Windows bir Toyota gibidir" . Toyota, Windows'tan çok daha iyi bir kaliteye sahip.
Monica'yı

4
@ SK-mantık, Kesinlikle. Başka bir dini savaşa katılmadan lütfen aşağıdakileri göz önünde bulundurun. Yalnızca stratejik ve finansal sebeplerden dolayı, MS mümkün olan en geniş kitleyi hedeflemektedir. Bilgisayarın kullanıcıların kontrol edebilmek istediği teknik şeyler, görüş alanının dışına çıkar ve Joneses problemlerle karşılaşmaz. Her yerde DEP, GPO, "Güvenilir yükleyici", özel veya gizli API'ler, "kendi kendine onarım önyüklemesi" vb. İle bitirdiniz. Geeks, Windows'u düzeltmiyor, sadece kalmıyor. Linux aynı hegemonik hedefe sahip değildir; kullanıcılar için kullanıcılar tarafından yapılır. Bütün mesele bu.
Alain Pannetier

3
@ SK-mantık - "Windows kaynaklarınız varsa" ... :-)
Rory Alsop

3
"Windows'ta imkansız" ve "Linux'ta mümkün" olan birkaç şeyi adlandırmaya dikkat edin - Linux sistem komut dosyasında bir hata buldum ve düzelttim. Windows'ta hata buldum ancak bunları düzeltemedim. bir disk dosyasında bir ISO (CD) görüntüsü var, bunu Linux'ta bir sürücü olarak monte edebilirim, bunu Windows'ta yapabilir misiniz? Ve Linux'ta neredeyse her şeyin ücretsiz olduğunu ve Windows'taki neredeyse her şeyin pahalı bir özel uygulama gerektirdiğini unutmayın.
Andy Canfield

9

Monodevelop ile Mono'da gelişmeye ne dersiniz? Bu, .NET'teki deneyiminizi yeniden kullanarak kolayca başlayabilmenizi sağlar.


Bunu yakın zamanda denedim - tabii ki Visual Studio ile ilgili bazı farklılıklar elbette, ancak bir akşam çalışmaya başladım. Harika bir göç yolu.
JBRWilkinson

8

Baştan bakarken göz korkutucu (tıpkı bir Windows geliştiricisi yapmakla görevlendirilmiş bir Linux geliştiricisiyseniz). Her seferinde bu problemi çözerdim.

  • Öncelikle çevre kurulumunuzu yapın (derleyici, IDE - evet var, Netbeans / Eclipse vs.)
  • Daha sonra, üst seviye apis'leri kurun (artırma / Qt vb.)
  • Çözmek için acil bir sorun varsa, yavaşça başlayın, kodu derleyin (ya da sıfırdan yazmaya başlayın) etkileşim), ve sonra bir tuzak ara - arama yaptığınızda, orada birisinin daha önce de aynı sorunu yaşadığından ve çözdüğünden eminim ..

En önemlisi, tüm öznel görüşlerinizi kapıda bırakın. Ve hayır, Linux'ta gelişmek için bir guru olmak zorunda değilsiniz, etrafta dolaşacak kadar bilgim var ve her şeyi değil - ama bu konuda rahatım ...


1
+1 Nim: StackExchange burada harika bir ön bilgi miktarına sahip. Unix'in lezzetlerinde en rahatıyım, ancak şu anda Windows geliştirme ortamında çalışıyorum ve SE'de arama yapmak neredeyse tüm sorularımı çok kısa sürede yanıtladı.
Rory Alsop

6

The success or failure of many thing in life comes down to our attitude, looking for positives and keeping your mind focused on the positives will do more to adide you as you start down this new interesting adventure.

Windows ortamında çalışma konusunda uzman olmanız ne kadar sürdü? Yeni başlamanın kolay olduğunu söyleyebilirsin. Ama ondan önce birkaç yıl pencerelerle çalışıyordun. Yumruk programını yazmadan önce ne kadar zamandır cam kullanıyordun. Bu benim için 8 yıldı, ancak şimdi neredeyse 5 yıldır Linux kullanıyordum. Artık Linux'ta pencerelerden daha ustayım. Yeni bir sisteme aşina olmak için kendinize en azından bu kadar zaman vermelisiniz.

Pencerelerde yaşayamayacağınız bir uygulama listesiyle başlayın ve * nix dünyasında alternatifleri arayın. http://alternativeto.net/ ve Wikipedia’nın diğer okuma bölümleri burada yardımcı olabilir.

Çok faydalı olabileceğini kanıtlayan alternatif bir yazılım listesi. Bahsettiğiniz şeyler için bazı alternatifler.

Bir sistemden diğerine geçerken diğer faydalı kaynaklar

Daha iyi bir uzman veya yönetici kullanıcı olmak hakkında bu kaynaklara bir göz atın

Aynı zamanda * nix dünyasına baktığınızdan beri bir süre olmuş gibi geliyor. Fedora , suse , debian veya tercih ettiğim iş istasyonu Ubuntu'dan yeni dağıtımlardan bazılarını öneririm .

Muhtemelen sistemin iç kısımlarını ve sadece pencerelerdeki temel bilgileri bilmemekle kurtulabilirsiniz. Sadece minimumdan kurtulmaya çalışmam. Eğer Linux'u geliştirmenizde size gerçekten yardımcı olacak bir araç olarak görüyorsanız, yalnızca geliştirdiğiniz bir işletim sistemini değil, yardımcı olacaktır.

Eğer Linux için özellikle geliştiriyorsanız, çok özel ve teknik bir anlam ifade ediyorsanız, Scratch'tan Linux çok daha önemli olacaktır. IE, çekirdek için geliştirmek istediğiniz veya Linux çalıştıran süper bir bilgisayara programladığınız port. Asla az olmamak çok faydalı olurdu. Sanırım Ubuntu’ya gitmeye çalışırken bir kaç aylığına bunu bırakabilirsiniz. Ubuntu, sadece mac ve windows dünyasında çalışan şeylere yakın olacak .


1
Debian tam olarak yeni bir dağıtım değil. :-P Yine de iyi bir seçim.
Steve S

SuSE ve Fedora da değil ... SuSE şu an 15 yaşında, Fedora da 8 yaşındaki "genç" dağıtımlardan biri. Yine de +1.
DarkDust

1
@Darkdust @ Steve-s son sürümlerdeki gibi yeni,
nelaaro

6

Sanırım soruyla ilgili sorunuza cevap verdiniz:

"Windows'ta, bir programlama dili, kodladığınız bir API, IDE'niz (VisualStudio) ve sorun gidermeye yönelik çok temel bazı araçlar (Depends, ProcessExplorer, DebugView, WinDbg) ile uzaklaşabilirsiniz. Diğer her şey doğal geliyor. "

Linux'ta bir programlama dili, bir API (veya bir çift), IDE'niz (Eclipse veya NetBeans, hatta Geany, Emacs veya vim,) ve sorun gidermeye yönelik bazı temel araçları tanıyarak ne elde edebileceğinizi öğrenin Gdb, izleme araçları, tüysüz, htop, ps).

Windows programlama ekosistemine yatırım yapmış olduğunuz çok fazla bilginiz var. Bunların çoğu (umarım) soyut bilgidir (derleyici nedir, bir hata ayıklayıcı, paylaşılan bir kütüphane, bir süreç, bir iş parçacığı nedir? Ne yaparlar?) Farklı araçlara hızlanınca kolayca kolaylaşır. Bazıları etki alanına özgüdür (Bir projeye X eklediğimde hangi DLL bağlantısı kurulur?), Ancak Windows'ta bir dilden diğerine geçmek bile yeni bir öğrenme gerektirir.

Bir Sanal Makineye Ubuntu veya Fedora yükleyin, Eclipse veya NetBeans derslerinde bazı C ++ Hello World'leri ve Eclipse / NetBeans derslerinde bazı hata ayıklamalarını okuyun ve beyninizin adapte olma yeteneğinin doğal olmasına izin verin. Rahatlarsanız ve sadece işe koyulursa, sizin için fikirleri çevirecektir.


3

Genelde Unix'i man sayfalarını okuyarak öğrendim. En azından onları yağlamalısın. Evet, hepsini kastediyorum. Man sayfası dizinlerine girmek için kullandığım yöntem ve bir defada bir bölüme saldırmak.

Bunu kullanıyorum:

for i in *; do f=`basename $i .gz`; man `basename $f .1` ; done

... .1 yerine, okuduğunuz bölümün sayısıyla, .2, .3, vs.'nin değiştirilmesi. Döngüden çıkmak için ctrl-Z ctrl-C tuşlarına basın. Eğer linux dağıtımınız şeyleri farklı şekilde saklarsa, yani cmdname.1.gz olarak değilseniz, kilometre değişebilir.

Sadece açıklamaları gözden geçirin ve daha fazlası ilginçse. Bölüm 1, 2 ve 3, bir programcı için en önemlisidir. 1, derleme araçlarını ve çeşitli adli tıp uygulamalarını içeren genel kullanıcı komutlarını kapsar. 2, sistem çağrıları ve 3, kütüphane çağrılarıdır.


2
xmanDaha “arkadaşça” bir arayüz olarak başlatmanızı öneririm . Bir bölüm seçin, man sayfasını tıklayın, okuyun. Durulayın, tekrarlayın.
20

Böyle şeyleri unutmuşum. Serbest işletim sistemindeki belgelerin durumu idealden az ve araçları genellikle daha da kötüleştirdi, bu yüzden onları kullanmayı bıraktım. Sadece biraz daha iyi olduklarını varsayabilirim.
Hack,

3

Sevmediğiniz bir şeyi yapmaya kendinizi zorlamayın. Geliştirme ortamınız olarak Windows'u kullanın, taşınabilir bir kod yazın, Linux için çapraz derleyin ve yalnızca zaman zaman VM'de test edin.


2

Platformlar için çalıştığından emin değilim, ancak programlama dilleri için, iyi olduğum şeylere nasıl aşina olduğumu ve rahat ettiğimi düşünmeyi ve bulduklarım için bu deneyimleri ve etkinlikleri tekrar etmeye çalışmayı yararlı buldum. öğrenmeye çalışıyorum.

Belki de bu satırlarda bir şey?

Genel olarak konuşursak, GNU / Linux'a olan ilgim ve güvenim, Windows'tan çok daha fazla (ve ilk günlerde tamir etmeyi gerektiriyor) geldi. Bir şeylerin çalışmasını sağlamak için bir sürü şeyle uğraşmak zorunda kaldım ve bu da bir çok şeyi öğrenmeme yardımcı oldu. İşler şimdi çok daha iyi ama bütün bu saatler yardımcı oldu.


2

Benzer ama farklı bir şeyle görevlendirilmiş iki kişiden biriydim. Bir K-12 okul bölgesinde çalışıyorum ve iş sistemi (İK, finans, vb ...) bir HP3000 / TurboImage db'den Linux / MS SQL platformuna geçiyor. MS SQL tarafında rahatım. Fakat Linux tarafı değil. İkimiz yönetici tarafındayız, programlama tarafında değiliz. Programlama dışında yapılır - K-12 orgs için 3. parti iş uygulaması.

Hafta sonları 5 haftada bir Intro to Linux (Redhat) dersi aldım - çoğunlukla komut satırı modunda yapıldı. Açıkça sınıf / öğretmene bağlı olarak YMMV.

'En kötüsü: Linux geliştirme ortamı nasıl sağlanmalı?' Demiştiniz? Zaten Windows'a aşina olduğunuzdan, vmWare Workstation'ın bir kopyasını almanızı şiddetle tavsiye ederim. Bununla, Windows'u iş istasyonunuz olarak tutabilir ve Linux'u konuk sistemler olarak yükleyebilirsiniz - gerektiğinde silin, durulayın ve tekrarlayın. İyi bir kurulum yaptığınızda, onu anlık görüntüleyebileceğinize inanıyorum, ancak hangi sürümlerin anlık görüntü özelliğine sahip olduğunu kesin olarak söyleyemem. Ve birden fazla geliştirme kurulumunu etkinleştirmek için vmWare İş İstasyonu güzergahına girerseniz, belleği kesinlikle arttırın.

Ayrıca konuklara CentOS'u Linux işletim sistemi olarak kullanmanızı tavsiye etmiyorum. Anladığım kadarıyla, marka ve / veya satış aşaması ve / veya destek maliyetleri olmadan RedHat gibi. Diğer Linux lezzetlerine aşina değilim, bu yüzden bunlara girdi veremiyorum.

Greg


1

Hem platformları hem de kullanıcı arayüzü ve dev eko-sistemindeki tüm farklılıklar için, onları kapak altındakilerden daha benzer buluyorum. Aslında, çoğu Windows kavramı için, yalnızca Internet'te arama yaparak eşdeğer bir Linux olanı bulabilirsiniz.

Bunu söyledikten sonra, "Unix yolu" işlerinin nasıl yapıldığını öğrenmeyi şiddetle tavsiye ederim. Buggy GUI ön uçları yerine komut satırı kullanın (Burada çoğunlukla gdb hakkında konuşuyorum); IDE aramayın ve bunun yerine bir dizi özel araç kullanmayı öğrenin. İyi bir editör seçin (vim işaret ederek) ve iyi öğrenin. makeUzman olmayı planlamıyor olsanız bile nasıl çalıştığını okuyun . Belki Linux'u bile seversin. Geek dostu ve oynamak için eğlenceli.


1

Şunu düşünün: bir zamanlar Windows hakkında hiçbir şey bilmiyordunuz, ancak öğrendiniz ve zamanla onunla rahat edindiniz.

Daha sonra MS, .NET ile rahat hissettiğiniz programlama sistemini değiştirdi ve artık DLLS, COM hakkında bir şey bilmiyordunuz ve her neyse, meclisler, GAC, uygulama alanları gibi şeyleri öğrenmek zorunda kalıyordunuz. Bunları iyi öğrendin.

Peki şimdi neden Linux ile aynı şeyi yapmaktan endişeleniyorsunuz?

Her türlü programlama ortamı için web üzerinde 'başlamanıza' yardımcı dersler bulunmaktadır. Şimdi GCC diyorsunuz, bu yüzden C ++ gelişimini üstleneceğim. Kendine Eclipse'i al, CDT'yi (c dev tools) Eclipse platformunun üstüne koy (Eclipse çok amaçlı bir IDE'dir, C ++, PHP, Java için kullanabilirsiniz - ne olursa olsun - bu dili kendi dilinizde kurmanız gerekir. Gerçekten VS gibi önceden yüklenmiş olmasını istemezsiniz ve kurulumunun 3 gününü alırsınız :))

Tüm web'de kullanımı kolay öğreticiler var. IBM burada oldukça kapsamlı bir tane var .

Hata ayıklama araçları ... eclipse gömülü ( öğretici ) var, ancak bahsettiğiniz araçlar gibi birçok aracı bulabilir, sadece web'de arama yapabilirsiniz ve birçok seçenek bulabilirsiniz. Temel bir dökümü nasıl okuyacağınıza karar vermek biraz zaman alacaktır (örneğin, bir windows userdump'ın aksine), ancak oraya gideceksiniz.

Aynı zamanda deneyimlerinizle birlikte bir blog başlatmanız da faydalı olabilir, yalnızca ne yaptığınızı kendinize hatırlatmanıza izin vermekle kalmaz (örneğin, nasıl bir şey istersen eclipse ayarlamak, bir daha yıl vakti) ama sizin durumunuzda başkalarına yardımcı olacaktır.


0

Scratch'tan Linux yapman gerektiğini sanmıyorum. Yerinde olsam Ubuntu'ya giderdim. Daha rahattır ve debian'a dayanarak bol miktarda teknik malzeme bulunmaktadır.

Eğer Linux'a ilk kez bir dalış yapmak istiyorsanız, Gentoo iyi bir seçenektir. Konfigürasyon ve çekirdekler hakkında oldukça fazla şey okumanızı gerektirir, ama aynı zamanda size çalışmak için oldukça işlevsel bir sistem sunar.


0

Google "Unix programlama sanatı" ve okuyun. IMO, asıl zorluğunuz farklı felsefedir ve bu kitap bunun için mükemmel bir okuma.

Ayrıca, * n * x ve Windows sistemleri arasındaki bariz olmayan ama teknik olarak çok önemli farkları da ortaya çıkarmaktadır - bunlar Linux'ta neden başka şeyler yapmanın daha anlamlı olduğunu anlamamızın anahtarıdır.


1
... ve ayrıca Linux'ta kullanılacak birçok araç ve teknik sunar.

0

Sormam gereken ilk soru, geliştirmek istediğiniz şey nedir? Eğer gui tabanlı bir uygulama ise, bir çekirdek uzantısı gibi bir şey yazmak zorunda kalmaktan farklı olabilir.

Bir gui uygulaması durumunda, en kolay yöntem, kendi geliştirme ortamına (Qt-Creator) sahip olan ve platformlar arası Qt'yi kullanmaktır. Windows / Linux için kullanılabilecek tek bir API öğrenmenize izin verir. / OSX ve hatta mobil geliştirme. Windows'ta görsel stüdyo veya OSX'te XCode gibi, bir grafik düzenleyiciden pencere ve öğeler oluşturabilir ve düzenleyebilirsiniz; API, örnek uygulamaların bir sürü yüküyle kolayca seçilebilir.

Daha düşük seviyelere ihtiyacınız varsa, komut satırında linux'taki yolunuzu öğrendikten sonra, dizinleri nasıl değiştireceğinizi, dosyaları değiştireceğinizi, izinleri anlayabileceğinizi vb. Öğrendikten sonra, gcc ile basit bir programı nasıl derleyeceğinizi okumaya başlayın, dosyaları bağlamak ve çalıştırılabilir dosyayı çalıştırmak ve ardından gdb ile hata ayıklamak.

Alternatif olarak, eğer bu biraz göz korkutucu görünüyorsa, Eclipse veya başka bir IDE'yi indirebilir, ancak önce komut satırına zaman ve çabayı koyarsanız, uzun vadede Linux ile daha rahat edersiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.