eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › GCC - jak działa?
Ilość wypowiedzi w tym wątku: 6

  • 1. Data: 2010-05-27 10:47:32
    Temat: GCC - jak działa?
    Od: l...@l...lon

    Witam,

    Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla języka C?
    Tzn. jakie są przebiegi? Na pewno jest preprocesor, potem komilacja
    do *.s i linkowanie.

    Interesuje mnie kompilacja: czy można zoabczyć etap przejściowy, np.
    rozkład leksykalny czy też dzieje się to tylko wewnątrz kompilatora i z kodu
    źródłowego w C są od razu generowane isntrukcje assemblera?

    Pozdrawiam,
    Marcin


    --
    ml

    http://www.archimedes.eu.org/


  • 2. Data: 2010-05-27 12:10:45
    Temat: Re: GCC - jak działa?
    Od: "Rafał \"R@V\" Prasał" <r...@g...com>

    W dniu 2010-05-27 12:47, l...@l...lon pisze:
    > Witam,
    >
    > Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla języka C?
    > Tzn. jakie są przebiegi? Na pewno jest preprocesor, potem komilacja
    > do *.s i linkowanie.
    >
    > Interesuje mnie kompilacja: czy można zoabczyć etap przejściowy, np.
    > rozkład leksykalny czy też dzieje się to tylko wewnątrz kompilatora i z kodu
    > źródłowego w C są od razu generowane isntrukcje assemblera?

    w źródła GCC musisz zajrzeć.

    to jest ANSI C.
    flex: http://www.lysator.liu.se/c/ANSI-C-grammar-l.html
    yacc/bison: http://www.lysator.liu.se/c/ANSI-C-grammar-y.html

    Rafał Prasał.


  • 3. Data: 2010-05-27 14:13:42
    Temat: Re: GCC - jak działa?
    Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>

    Rafał "R@V" Prasał wrote:
    > W dniu 2010-05-27 12:47, l...@l...lon pisze:
    >> Witam,
    >>
    >> Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla
    >> języka C?
    >> Tzn. jakie są przebiegi? Na pewno jest preprocesor, potem komilacja
    >> do *.s i linkowanie.
    >>
    >> Interesuje mnie kompilacja: czy można zoabczyć etap przejściowy, np.
    >> rozkład leksykalny czy też dzieje się to tylko wewnątrz kompilatora i
    >> z kodu
    >> źródłowego w C są od razu generowane isntrukcje assemblera?
    >
    > w źródła GCC musisz zajrzeć.
    >
    > to jest ANSI C.
    > flex: http://www.lysator.liu.se/c/ANSI-C-grammar-l.html
    > yacc/bison: http://www.lysator.liu.se/c/ANSI-C-grammar-y.html
    >
    > Rafał Prasał.

    GCC nie używa już od jakiegoś czasu (wersji 3.cośtam) lexa ani bisona

    pzdr

    \SK


    --
    "Never underestimate the power of human stupidity" -- L. Lang
    --
    http://www.tajga.org -- (some photos from my travels)


  • 4. Data: 2010-05-27 21:56:20
    Temat: Re: GCC - jak działa?
    Od: Adam Piotrowski <k...@i...pl>

    W dniu 2010-05-27 12:47, l...@l...lon pisze:
    > Witam,
    >
    > Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla języka C?
    > Tzn. jakie są przebiegi? Na pewno jest preprocesor, potem komilacja
    > do *.s i linkowanie.
    >
    > Interesuje mnie kompilacja: czy można zoabczyć etap przejściowy, np.
    > rozkład leksykalny czy też dzieje się to tylko wewnątrz kompilatora i z kodu
    > źródłowego w C są od razu generowane isntrukcje assemblera?
    >
    > Pozdrawiam,
    > Marcin
    >
    >

    Hej

    1) Rozklad leksykalny i skladniowy robione sa za pomoca specjalizowanych
    funkcji dostosowanych do skladni C.
    2) Z rozkladu leksyklanego to raczej za duzo nie zobaczysz, chociaz moge
    sie mylic - jak bawilem sie kodem gcc to nie zwracalem uwagi na te
    etapy, trzeba zerknac do kodu lub do GCC internals
    3) Nie, z kodu C nie generujesz kodu assemblera, jakby tak bylo
    musialbys zmieniac caly kompilator w przypadku portowania do innych
    architektur nic x86
    4) Front end - zajmuje sie analiza leksykalna i skladniowa, zalezny od
    jezyka, niezalezny od architektury docelowej
    Middle end - zajmuje sie optymalizacja - niezalezny do jezyka i architektury
    Back end - nie zalezny od jezyka, zalezny od architekrury (przynajmniej
    tak jest w teorii)
    5) C -> GENERIC -> GIMPLE -> (SSA w przypadku optymalizacji - > GIMPLE)
    -> RTL -> assembler : takie sa reprezentacje posrednie stosowane podczas
    kompilacji
    6) skompiluj sobie program (pod Linuxem) z parametrem -fdump-tree-all
    aby zobaczyc jakie przeksztalcenia sa robione podczas optymalizacji kodu
    na poziomie drzew. Ogolnie masz sporo opcji opisanych w rozdziale "3.9
    Options for Debugging Your Program or GCC" w manualu do gcc


    Adam


  • 5. Data: 2010-05-28 00:18:46
    Temat: Re: GCC - jak działa?
    Od: Adam Piotrowski <k...@i...pl>

    W dniu 2010-05-27 12:47, l...@l...lon pisze:
    > Witam,
    >
    > Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla języka C?
    > Tzn. jakie są przebiegi? Na pewno jest preprocesor, potem komilacja
    > do *.s i linkowanie.
    >
    > Interesuje mnie kompilacja: czy można zoabczyć etap przejściowy, np.
    > rozkład leksykalny czy też dzieje się to tylko wewnątrz kompilatora i z kodu
    > źródłowego w C są od razu generowane isntrukcje assemblera?
    >
    > Pozdrawiam,
    > Marcin
    >
    >

    Zapomnialem o czyms:
    1) Do gcc internals nie ma dobrego opisu. Sa jakies szczatkowe
    informacje o zasadach alokacji pamieci, o bitmapach ale nie takie jak
    bym chcial (przynajmniej na poczatku)
    2) Przebicie sie przez reprezentacje drzew zajelo mi ponad pol roku :)
    3) Teoretyczna kompatybilnosc kodu zrodlowego pomiedzy wersjami jest ...
    teoretyczna
    4) Czytaj komentarze zawarte w kodzie zrodlowym
    5) Jak chcesz pobawic sie w rozwijanie funkcjonalnosci gcc, to proponuje
    poczytac o nowym mechanizmie pluginow

    Adam


  • 6. Data: 2010-05-28 20:59:20
    Temat: Re: GCC - jak działa?
    Od: "A...@g...com" <l...@1...0.0.1>

    Dnia 28.05.2010 Adam Piotrowski <k...@i...pl> napisał/a:
    > W dniu 2010-05-27 12:47, l...@l...lon pisze:
    >> (...)
    >> Czy ktoś może wie jaki jest schamet działania kompilatora GCC dla języka C?
    >> Tzn. jakie są przebiegi?
    >> (...)
    > (...)


    Dzięki za wszytkie informacje - o to chodziło. Resztę doczytam.

    Pozdrawiam,
    Marcin

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: