Selamlar, ubuntu'ya kurduğumuz programların kaynak kodlarının dosyalarına nasıl erişebiliyoruz. Programların kaynak kodları hangi dizin altında veya dosya uzantısı nedir?
Ubuntu'ya kurduğumuz herhangi bir programın kaynak kodlarını değiştirebilmeyi öğrenebileceğimiz bir site ya da uygulama örneği verebilirmisiniz?
Teşekkürler.
https://forum.ubuntu-tr.net/index.php?action=search;q=kaynak%20kodlar%C4%B1
Genelde programlar kurulurken, derlenerek kurulurlar. Yani Yazılım Merkezi 'nden ya da terminalden program kurarken, -- ki terminalde program kurarken bakarsan eğer, derleme işlemi yapar zaten görürsün-- kaynak kodlar indirilmez. program işletim sistemine, işlemciye göre derlenir, öyle çalıştırılabilir ancak. Yani direkt kaynak kodlardan çalıştırılmaz. Ama Python buna istisnadır. Çünkü kendisi yorumlanan bir dildir. Derlemeye gerek kalmaz.
Programların kaynak kodlarını indirmek için, programların sitelerine girip oradan indirebilirsin, bazı kaynak kodu sağlayan depolara bağlanıp, pradan indirebilirsin, vs....
Kaynak kodlarda değişiklik yaptığında, tekrar derlemen gerekir. Ki Python dediğim gibi istisnadır. :D
Ufacık bir düzeltme yapalım :)
Ubuntu gibi ikilik temelli dağıtımlarda uygulamalar derlenmezler, derlenmiş olan paketler sisteme kurulurlar. Kısacası Ubuntu geliştiricilerinin sunucularda derlediği uygulamalar .deb paketini haline gelir, biz de depolardan bunları kurarız.
@ozgurche, @ersinkandemir'in verdiği arama sonuçlarına bakarsan depolardan nasıl uygulamaların (tabi kaynak kodu olanların, örneğin mp3 çözücülerin, flash'ın kaynak kodu olmaz depoda) kaynak kodlarını indirebileceğini görürsün.
Alıntı yapılan: ozgurche - 11 Ekim 2014 - 21:26:44
Selamlar, ubuntu'ya kurduğumuz programların kaynak kodlarının dosyalarına nasıl erişebiliyoruz. Programların kaynak kodları hangi dizin altında veya dosya uzantısı nedir?
Ubuntu'ya kurduğumuz herhangi bir programın kaynak kodlarını değiştirebilmeyi öğrenebileceğimiz bir site ya da uygulama örneği verebilirmisiniz?
Teşekkürler.
Erişebilsen bile bir şey anlamazsın.
Alıntı yapılan: ekremsenturk - 14 Ekim 2014 - 13:22:58
Alıntı yapılan: ozgurche - 11 Ekim 2014 - 21:26:44
Selamlar, ubuntu'ya kurduğumuz programların kaynak kodlarının dosyalarına nasıl erişebiliyoruz. Programların kaynak kodları hangi dizin altında veya dosya uzantısı nedir?
Ubuntu'ya kurduğumuz herhangi bir programın kaynak kodlarını değiştirebilmeyi öğrenebileceğimiz bir site ya da uygulama örneği verebilirmisiniz?
Teşekkürler.
Erişebilsen bile bir şey anlamazsın.
Burda ekrem şentürk ustaya katılıyorum stunnex ve diğer çok gelişmiş virüs kaynak kodlarına baktım acayip bir kodlama ve algoritma kullanmışlardı yazılımdan soğumuştum :)
Kodlarına ulaşırsan bilgilendir, ben de arıyorum...
@Nurullah_RT (https://forum.ubuntu-tr.net/index.php?action=profile;u=25903), bu kadar cevap yazılmış başlıkta, vakit ayırıp okudun mu? Okuduysan anlamadığın kısım neresi?
Ayrıca, lütfen iletinin tamamını büyük harflerle, renkli veya karışık renkli olarak yazma.
Şu, "erişsen de bir şey anlamazsın" kısmına da itirazım var. Nasıl emin olabiliyoruz bundan? Tamam zor diyelim, önce karşı tarafın bilgisini soralım ama böyle de kestirip atmayalım lütfen. Azıcık heves vermek lazım gelir bazı durumlarda, durduk yere baltalanacaksa bir şeyler bence hiç konuşulmasın daha iyidir.
Alıntı yapılan: ekremsenturkErişebilsen bile bir şey anlamazsın.
Kişinin bilgisi ile orantılı aslında anlaması. Gerekli kütüphanelerin kullanımı, algoritmaların uygulanışı falan biliniyorsa, anlamak çok zor olmaz.
Ama "kernel"i anlamak, gerçekten de çok çok çok büyük çaba gerektirir.
:D
@heartsmagic;
Derlenmiş paketlerin indirildiği kısmı kaçırmışım. Teşekkür ederim.
engin bir bilgiye sahip olanlar anlayabilir .kısaca imkansız degil yani ...
Bir kaynak kod örneği.
(*************** ALINTIDIR *******************)
İnceleyerek kendinizi sınayabilirsiniz, üzerinde düzenlemeler yapabilirsiniz, veya konuya kendinizi yabancı hisediyorsanız, bir fikir edinebilmiş olursunuz.
Bir tanıtım animasyonu : (Bu kaynak kod, bir ses dosysı ile ve iki adet de resim dosyası ile kullanılır)
'
' sdlBasic presentation: clickme
'
' Name: clickme.sdlbas
' Purpose: Official welcome to sdlBasic world
' Author: __vroby__
' Licence: LGPL
'
' Bugs:
'
' Todo:
'
' all contributed are welcome !!!
' please parsimonius of space (to reduce the download size)
'
'
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
declare sub updatestelle
setdisplay(640,480,32,1)
setalphachannel(0)
'directscreen
autoback(-15)
loadmusic("/usr/share/sdlbasic/demo/lizard.mod")
playmusic(-1)
setcolorkey(-1)
loadimage("/usr/share/sdlbasic/demo/sdlBasic.png",100)
'loadimage("/usr/share/sdlbasic/demo/sdlnow.gif",100)
hotspot (100,1,1)
loadimage("/usr/share/sdlbasic/demo/sdlnow.gif",101)
hotspot(101,1,1)
common numstars=200
common x[numstars]
common y[numstars]
common s[numstars]
'__________________________________________________________________________________________________________________
sub updatestelle
screen(0)
cls
screenlock(0)
for st= 1 to numstars
x[st]=x[st]-s[st]
if x[st]<0 then
x[st]=x[st]+800
end if
'ink(rgb(s[st]*32,s[st]*32,255))
dot(x[st],y[st])
next
screenunlock(0)
x[0]=x[0]-0.5
if x[0]<-100 then
x[0]=900
end if
sprite(10,x[0],340,101)
end sub
'__________________________________________________________________________________________________________________
sub italiano
for i=320 to -320 step -5
updatestelle
zoomimage(100,0.9,0.9)
sprite(1,320,220,100)
sprite(3,i,180,11)
sprite(4,640-i,220,2)
sprite(5,i,260,3)
sprite(6,640-i,300,4)
screenswap
next
deletesprite(2)
screenopen(2,540,400,60,480,540,400,2)
prints( "ben venuti in sdlBasic!!")
prints( "")
prints( "questo basic e' gratuito e distribuito come software libero")
prints( "tu puoi usarlo studiarlo modificarlo e farne copie ")
prints( "per i tuoi amici. Questo software non vuole soldi")
prints( "ma regala emozioni istruzione e divertimento")
prints( "Collabora con noi allo sviluppo!! ")
prints( "visita sdlbasic.sourceforge.net")
prints( "")
prints( "premi un tasto per uscire")
for i=480 to 50 step -1
updatestelle
screen(2)
screenrect(60,i,540,400,2)
screenswap
next
while inkey=0
updatestelle
screenswap
end while
screenfade(0,3)
screenfade(2,2)
deletesprite(10)
for i =255 to 0 step -5
volumemusic(i/2)
wait(100)
screenswap
next
end
end sub
'__________________________________________________________________________________________________________________
sub english
for i=320 to -320 step -5
updatestelle
zoomimage(100,0.9,0.9)
sprite(1,320,220,100)
sprite(3,i,180,1)
sprite(4,640-i,220,12)
sprite(5,i,260,3)
sprite(6,640-i,300,4)
screenswap
next
deletesprite(2)
screenopen(2,540,400,60,480,540,400,2)
prints( "Welcome to sdlBasic!")
prints( "")
prints( "This basic is free and distributed as free software.")
prints( "You may study and modify it and give copies")
prints( "to your friends. This software doesn't want your money")
prints( "but present emotions instructions and amusement.")
prints( "All contributions are welcome!!!")
prints( "visit sdlbasic.sourceforge.net")
prints( "")
prints( "Press any key to exit")
for i=480 to 50 step -1
updatestelle
screen(2)
screenrect(60,i,540,400,2)
screenswap
next
while inkey=0
updatestelle
screenswap
end while
screenfade(0,2)
screenfade(2,3)
deletesprite(10)
for i =255 to 0 step -5
volumemusic(i/2)
wait(100)
screenswap
next
end
end sub
'__________________________________________________________________________________________________________________
sub portugues
for i=320 to -320 step -5
updatestelle
zoomimage(100,0.9,0.9)
sprite(1,320,220,100)
sprite(3,i,180,1)
sprite(4,640-i,220,2)
sprite(5,i,260,13)
sprite(6,640-i,300,4)
screenswap
next
deletesprite(2)
screenopen(2,540,400,60,480,540,400,2)
prints( "Bem vindo ao sdlBasic!!")
prints( "")
prints( "Este basic é livre, e distribuido como software livre.")
prints( "Tu podes usá-lo, estudá-lo, modificá-lo, e fazer cópias para os teus amigos. ")
prints( "Este software não pede dinheiro, mas regala emoções, instruções e divertimento")
prints( "Colabora conosco no desenvolvimento!!")
prints( "visita sdlbasic.sourceforge.net")
prints( "")
prints( "Aperta uma tecla para sair")
for i=480 to 50 step -1
updatestelle
screen(2)
screenrect(60,i,540,400,2)
screenswap
next
while inkey=0
updatestelle
screenswap
end while
screenfade(0,3)
screenfade(2,2)
deletesprite(10)
for i =255 to 0 step -5
volumemusic(i/2)
wait(100)
screenswap
next
end
end sub
'__________________________________________________________________________________________________________________
sub deutsch
for i=320 to -320 step -5
updatestelle
zoomimage(100,0.9,0.9)
sprite(1,320,220,100)
sprite(3,i,180,1)
sprite(4,640-i,220,2)
sprite(5,i,260,3)
sprite(6,640-i,300,14)
screenswap
next
deletesprite(2)
screenopen(2,540,400,60,480,540,400,2)
prints( "Willkommen bei sdlBasic!!")
prints( "")
prints( "Dieses Basic ist kostenlos und wird als freie Software vertrieben.")
prints( "Sie können es sich ansehen und verändern und Kopien")
prints( "an Ihre Freunde weiter geben. Diese Software kostet Sie")
prints( "kein Geld, sondern bietet Ihnen Anleitung und Unterhaltung.")
prints( "Alle Beiträge sind willkommen!!!")
prints( "Besuchen Sie sdlbasic.sourceforge.net")
prints( "")
prints( "Drücken Sie eine beliebige Taste, um zu beenden.")
for i=480 to 50 step -1
updatestelle
screen(2)
screenrect(60,i,540,400,2)
screenswap
next
while inkey=0
updatestelle
screenswap
end while
screenfade(0,3)
screenfade(2,2)
deletesprite(10)
for i =255 to 0 step -5
volumemusic(i/2)
wait(100)
screenswap
next
end
end sub
'-------------------------------------------------------------------------------------------------------------------
sub main
for i =0 to numstars
x[i]=rnd(800)
y[i]=rnd(600)
s[i]=rnd(4)+1
next
x[0]=900
screenopen (1,640,480,0,0,640,480,2)
cls
ink(rgb(255,255,255))
textrender("1 - Italiano",32,1)
hotspot(1,1,1)
textrender("2 - English",32,2)
hotspot(2,1,1)
textrender("3 - Portugues",32,3)
hotspot(3,1,1)
textrender ("4 - Deutsch",32,4)
hotspot(4,1,1)
ink(rgb(255,255,0))
textrender("1 - Italiano",32,11)
hotspot(11,1,1)
textrender("2 - English",32,12)
hotspot(12,1,1)
textrender("3 - Portugues",32,13)
hotspot(13,1,1)
textrender ("4 - Deutsch",32,14)
hotspot(14,1,1)
ink(color(15))
for i=0 to 320 step 1
updatestelle
sprite(1,320,i-80,100)
sprite(3,i,180,1)
sprite(4,640-i,220,2)
sprite(5,i,260,3)
sprite(6,640-i,300,4)
screenswap
next
while 0=0
screen(1)
a=inkey
if a<>0 then
if a=asc("1") then
italiano
end if
if a=asc("2") then
english
end if
if a=asc("3") then
portugues
end if
if a=asc("4") then
deutsch
end if
if a=27 then
exit while
end if
end if
if bmouse=1 then
if mousezone(240,160,180,40) then
italiano
end if
if mousezone(240,200,180,40) then
english
end if
if mousezone(240,240,180,40) then
portugues
end if
if mousezone(240,300,180,40) then
deutsch
end if
end if
updatestelle
screenswap
end while
end sub
'__________________________________________________________________________________________________________________
main
Berbat bir Türkçe kullanmışım, düzelttim.
@ekremsenturk, mesele herkesin anlaması meselesi değil elbette. Ben örneğin bakarım, bakarım, bir daha bakarım. Sonuç değişmez yani. Ancak bir başka arkadaş açar, biraz gözden geçirir, sonra kullanılan ilgili kütüphaneleri inceler, bir bakmışız ekleme, çıkartma yapmış. Hani bunu yapabilecek insanlar da var.
Baksan da bir şey anlamazsın demekten ziyade "Birçok uygulama çok ağır kodlar içerir, tecrüben ne kadar?" diye sorulabilir. Tecrübe azsa çok basit uygulamalardan başlanma önerisi yapılabilir. Söylemek istediğim kestirip atılmaması.
@özgürce isimli arkadaşımız zaten sorusunda, nasıl var olan kod'lar üzerinde değişiklikler yapmayı öğrenebileceğini sormuş. Kafasında ne canlandırdığını ve ne tür bir beklentisi olduğunu da ben bilemem. Ama bir örnek üzerinden kaynak kod'un ne veya nasıl bir şey olduğunu görüp, kendi çapında denemeler yapabilir. Araştırıp, başka örnekler bulabilir v.s. Nasıl devam edeceği ona kalmış. Kendi bilgisayarımda yüklü olarak var olan ve başka dosyalar ile bağlantılı olmayan bir örnek ekledim. Aslında Sourceforge.net'ten bir örnek bulmaya çalışmıştım, ama aradığım gibi bir şey bulamadım.