eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCPU nie wykonujący pustych procedur › Re: CPU nie wykonujący pustych procedur
  • Data: 2009-07-26 16:39:19
    Temat: Re: CPU nie wykonujący pustych procedur
    Od: Jacek Czerwinski <...@...z.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Adam Przybyla pisze:
    > Wojciech Muła <w...@p...null.onet.pl.invalid> wrote:
    >> Czy jest jakiś procesor, który "widząc", że pierwszym
    >> rozkazem procedury jest powrót z podprogramu, w ogóle
    >> nie przekazuje tam sterowania?
    > ... tym zajmoje sie kompilator, przyklad z gcc:
    > smtp:/home/adam>gcc -S x.c
    > smtp:/home/adam>mv x.s x.s1
    > smtp:/home/adam>gcc -O2 -S x.c
    > smtp:/home/adam>diff x.s x.s1
    > 3d2
    > < .p2align 4,,15
    > 12c11
    > < .section .rodata.str1.1,"aMS",@progbits,1
    > ---
    >> .section .rodata
    > 16d14
    > < .p2align 4,,15
    > 28a27
    >> call x
    > smtp:/home/adam>cat x.c
    > #include <stdio.h>
    > void x() { };
    > int main() {
    > printf("123\n");
    > x();
    > }
    > smtp:/home/adam>
    >
    > jak widzisz, kod wygenerowany przy optymalizacji -O2 nie wywoluje procedury
    > pustej. Inne kompilatory maja tak samo IMHO.
    rzekłeś wodu:
    a) kompilatory (wątek chyba jest zainteresowany CPU)
    b) funkcja lokalna w jednostce kompilacji (module) bo tylko wtedy
    kompilator posiada tę wiedzę. Ciekaw będę twojego testu, czy
    kwalifikatory przy funkcji x coś zmieniają (np. static ale i
    niestandardowe) lub f. x jest zewnętrzna.

    W podanych warunkach minusów nie ma, tylko można zyskać.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: