Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
De ce se taie unii cu lama?

Întrebare de noob

Rezistenta la caldura vara

JOCURILE OLIMPICE PARIS 2024...fo...
 JOCURILE OLIMPICE PARIS 2024...fo...

Revolut, crypto si taxe

Kia vs Hyundai vs Skoda Karoq 2.0...

Paralizie parte inferioara picior...
 COPA AMERICA 2024

Presedintele Romaniei 2024. Cine ...

Recomandare usa interior izolata ...

Comunitatea de bicicliști - ...
 macOS 15 Sequoia

Top Zone Rezidence Victor Brauner

Curatare ferestre de adezivul fol...

Placare scara exterioara acces
 

Cum programez sub Linux?

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
31 răspunsuri în acest subiect

#1
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Mesaje: 30.284
  • Înscris: 24.02.2007
Hai să încetăm cu veșnicile războaie ale distro-urilor respectiv fanilor acestora și să începem să facem ceva util, inițial pentru noi, iar apoi pentru toată lumea.

Să vedem ce se află în spatele unei distribuții Linux, cum putem profita de munca altora și cum putem vedea altfel aceste sisteme, decât prin prisma denumirilor pompoase ale distribuțiilor.

Deoarece sistemul împreună cu o mare parte a aplicațiilor întâlnite sunt scrise în C, respectiv, din ce în ce mai mult C++, propun să începem prin a învăța C.

O scurtă introducere:

  • Ce este un executabil?

    Sub Linux, un executabil este, practic, orice fișier marcat cu +x.
    chmod +x fisier
    
    Asta nu inseamnă însă că, dacă scriem într-un fișier "Ana are mere", automat obținem un executabil valid. Executabilele din Linux pot fi atât aplicații native cât și scripturi, "comenzi" executate de un interpretor.

  • Ce este un executabil nativ?

    Un executabil nativ conține instrucțiuni de executat direct de către procesor. Exemplu, în cazul x86:

    mov eax, 0
    

    Acestea sunt și codificate binar, deci nu se pune problema scrierii sau editării lor manuale.
    Executabilul mai conține pe lângă astfel de instrucțiuni și diverse alte informații, de la constante text sau numerice, la informații despre dependințe.

  • Cum obțin un executabil?

    Precum ziceam, nu luăm un editor text (nici măcar hex) și ne punem să scriem manual astfel de instrucțiuni.

    Quote

    Dar ziceai ceva de C ...

    Corect. C e un limbaj mai "omenesc" ce ne permite să descriem mult mai ușor ce are programul de făcut.

    #include <stdio.h>
    
    int main()
    {
       printf("Ana are mere");
       return 0;
    }
    
    

    Dupa ce am scris un astfel de cod, folosind orice editor text, și l-am salvat într-un fișier program.c, trebuie să apelez la un compilator.
    Cel mai întâlnit compilator sub Linux este gcc. Acesta va citi programul nostru și va genera instrucțiuni corespunzătoare, înțelese de procesorul țintă; generând astfel un executabil.

    gcc program.c -o program
    

    Pornind executabilul obținut, oare ce se va întâmpla?

    > ./program
    > Ana are mere
    
    

  • OK, de unde învât C?

    Net-ul e plin de surse. De exemplu:

    http://www.lysator.l.../bwk-tutor.html
    http://www.iu.hio.no....html#Variables

  • Ce fac dupa ce știu bazele?

    După ce s-au așezat cât de cât bazele, se poate continua chiar și cu o arie de pe forum: Articole si cod sursa

  • Cum mă folosesc de ce au scris deja altii?

    Ce au scris alții se găsește cel mai adesea sub formă de biblioteci (în linkul de mai sus e explicat ce e o bibliotecă software).
    O primă bibliotecă de care ar trebui să se facă uz este chiar The GNU C Library: https://www.gnu.org/...re/libc/manual/

Spor și aștept întrebări mai serioase, nu tot "ce distribuție aleg" :)

#2
ovilix

ovilix

    Senior Member

  • Grup: Senior Members
  • Mesaje: 2.215
  • Înscris: 01.08.2013
Era sa ma sperii.
Credeam ca intrebi pt. tine personal. :)
Bun tutorialul.

#3
Papillon_

Papillon_

    2B

  • Grup: Senior Members
  • Mesaje: 9.060
  • Înscris: 15.04.2011
Foarte buna initiativa lui dani_user.

#4
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Mesaje: 40.655
  • Înscris: 30.07.2003
Stai sa vezi daca sunt si amatori ! Cand e vorba de munca putini se incumeta.

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Mesaje: 30.284
  • Înscris: 24.02.2007
Poate asa mai capata curaj

#6
Paullik

Paullik

    Active Member

  • Grup: Members
  • Mesaje: 1.760
  • Înscris: 05.07.2008
Sugestie pt. incepatori:

Ca alternativa la gcc recomand clang, are mesaje de eroare mult mai sugestive, poate va face viata mai usoara.

In Arch le puteti instala cu:

# pacman -Syu gcc clang


Apoi alegeti voi...


LE:
@dani.user:

Quote

sau editări lor manuale.

Ti-e putina foame, mai trebuia un "i", "editării".

Editat de Paullik, 01 august 2013 - 22:10.


#7
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Mesaje: 399.717
  • Înscris: 08.10.2015
De fapt mai degraba ceva de C++ un link ceva poate pune cineva.

Editat de MembruAnonim, 01 august 2013 - 22:08.


#8
Paullik

Paullik

    Active Member

  • Grup: Members
  • Mesaje: 1.760
  • Înscris: 05.07.2008

View PostMembruAnonim, on 01 august 2013 - 22:06, said:

De fapt mai degraba ceva de C++ un link ceva poate pune cineva.

http://lmgtfy.com/?q=c%2B%2B+tutorial

#9
ovilix

ovilix

    Senior Member

  • Grup: Senior Members
  • Mesaje: 2.215
  • Înscris: 01.08.2013
@Paullik din cate stiu eu sper sa nu gresesc clang e acum standard pe FreeBSD.
Si ca tot ai amintit de el tocmai am verificat sa vad daca e prin portage.
Alte imbunatatiri aduce CLang?
Scuze ca nu ma documentai si intrebai.
Oricum o sa ma documentez despre CLang desi nu sunt programator, bine, am avut unele tentative.
Poate ma reapuc de programare. :)

#10
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Mesaje: 399.717
  • Înscris: 08.10.2015
:) Asta a fost buna cu google :D Ma refeream strict la ceva mai avansat in C++ ca asa ceva idei de C++ am si eu ca am facut ceva pe la liceu si am mai citit ceva si am mai incercat s butonez ceva insa experienta mea in C++ nu e la fel de mare ca in Pascal / Delphi sau ca in networking de asta am intrebat stiu ca dani.user stie programare, ar mai fi si neagu_laurentiu, banuiesc ca voi doi aveti un job legat de programare, si am ntrebat. De obicei caut singur pe goagle tot felul de chestii si incerc sa le aplic si sa le inteleg. Oricum @Paullik intentia chiar conteaza ;)

#11
Paullik

Paullik

    Active Member

  • Grup: Members
  • Mesaje: 1.760
  • Înscris: 05.07.2008

View Postovilix, on 01 august 2013 - 22:14, said:

Alte imbunatatiri aduce CLang?
Nu stiu exact, am facut cateva toy projects cu el ca sa vad despre ce-i vorba, nimic important din moment ce gcc e "pre-instalat" peste tot.

Ce poate fi diferit (si sa resimti cand inveti) este suportul pt. C++11, care difera, dar care e imbunatatit constant in ambele proiecte.

#12
ovilix

ovilix

    Senior Member

  • Grup: Senior Members
  • Mesaje: 2.215
  • Înscris: 01.08.2013
Mersi pt. info. Ccand am timp caut despre clang.

#13
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Mesaje: 40.655
  • Înscris: 30.07.2003

View PostMembruAnonim, on 01 august 2013 - 22:22, said:

Ma refeream strict la ceva mai avansat in C++
Limbaj sau biblioteci specializate pe lucrul cu ceva specific ?

#14
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Mesaje: 399.717
  • Înscris: 08.10.2015
Ma gandeam la QT, vreau sa mai butonez cate ceva si ma gandeam sa incerc si ceva GUI folosind QT pentru a se integra cu KDEul. Sau orice link de unde sa am un inceput. Problema este ca am o antichitate de carte de Borland C++ 4.0 parca doar ca Borland C++ 4.0 e din 1900 vara plus ca se refera la librariile specifice Borland nu stiu cat de mult ma ajuta sub linux. Iar ceva avansat de C++ mai am o carte la fel din 1900 toamna. Posibil ca aceasta din urma sa ma ajute cu ceva ca nu se refera strict la o implementare au alta.

Editat de MembruAnonim, 01 august 2013 - 22:36.


#15
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Mesaje: 40.655
  • Înscris: 30.07.2003

View Postovilix, on 01 august 2013 - 22:14, said:

Alte imbunatatiri aduce CLang?
CLang e doar un front-end, LLVM duce greul (back-end). Sunt teste si teste, pe la unele iese GCC castigator iar la altele LLVM. Pana una-alta regele e tot GNU/GCC.

View PostMembruAnonim, on 01 august 2013 - 22:33, said:

Ma gandeam la QT
http://qt-project.or...dtutorials.html
Gasesti si cartile urmatoare pe net: http://qt-project.org/books

Oricum ai de la ei QT Creator (un mediu de dezvoltare, IDE) cu designer incorporat si e relativ simplu. Dar sa stii concepte din OOP.

#16
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Mesaje: 399.717
  • Înscris: 08.10.2015
Merci. Ma pun pe citit si pe invatat, ma descurc cu programarea cat de cat, este marea iubire a vietii mele pana acum :D doar ca soarta a facut sa gasesc job in Telecom si sa pierd trenul numit analist programator. Acum scrisul codului este un hobby pe care il mai practic din cand in cand, nu cred ca mai tine materialul sa bag tare sa recuperez anii pierduti in telecom. Totusi pot incerca :).

#17
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Mesaje: 40.655
  • Înscris: 30.07.2003
http://www.scribd.co...mming-with-Qt-4
Le gasesti pe toate in lumea larga.

#18
Gady_paul

Gady_paul

    Senior Member

  • Grup: Senior Members
  • Mesaje: 2.421
  • Înscris: 12.01.2008
Ca tot veni vorba, stiu ca bibliotecile (stiu ca e improprie denumirea dar hai sa o lasam asa) gen Qt, GTK discuta cu X ca sa faca treaba.
Acum intrebarea e...eu pot vorbi cu el? Mai exact, exista un set de functii (si nu numai) ale X server pe care eu le pot folosi, fara nimic 3rd party?

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate