inline tylko w plikach naglowkowych?

0

Witam,

czy definicje funkcji musza koniecznie byc w plikach naglowkowych zeby byly inline?

czy jesli funkcja ma tylko jedna instrukcje, to czy kompilator nie zrobi jej inline nawet jak nie bedzie jej definicji w pliku naglowkowym??

0

nie i nie. :P Inline będzie ta funcja, którą zadeklarujesz jako inline, lub jej definicję wpiszesz w ciele klasy (rzecz jasna ta druga opcja dot. tylko funkcji składowych)

0

Nie ma bata zeby kompilator zinlinowal funkcje ktora jest w innym pliku .cpp.

0

dasz sobie głowę i ręce uciąć? skad to wiesz?

pytam bo slyszalem, ze slowko inline jest jedynie sugestią dla kompilatora zeby funkcja byla inline, a nie wymuszeniem
przy wlaczonej optymalizacji zatem pasowaloby zeby kompilator krotkie funkcje, ktore sa uzyte raz czy dwa w programie i nie zadeklarowane jako inline zrobic inline

0
futrzaczek napisał(a)

dasz sobie głowę i ręce uciąć? skad to wiesz?

Ja sobie dam uciąć.

Nawet najmądrzejszy kompilator nie jest w stanie zrobić „inline” funkcji, której kodu nie zna. A jesli włączysz tylko nagłówek zawierający deklarację funkcji, to kodu nie ma tam jak nic.

0
coobba napisał(a)

Ja sobie dam uciąć.

Nawet najmądrzejszy kompilator nie jest w stanie zrobić „inline” funkcji, której kodu nie zna. A jesli włączysz tylko nagłówek zawierający deklarację funkcji, to kodu nie ma tam jak nic.

a istnieje moze jakies rozszerzenie w Visual C++ ktore by sprawilo, ze preprocesor zamienilby funkcje oznaczone tym tajemniczym rozszerzeniem na inline na tym etapie? tak, zeby to dla kompilatora nie stanowilo problemu?

nie podoba mi sie definiowanie funkcji w klasie i chcialby to jakos ominac :)

0

Autor dobrze myśli, jak dodasz inline, to niektóre kompilatory potraktuja to jako "normalną" funkcje inline. Niektóre, bo jak sam wspominałeś, jest to sugestia a nie wymuszenie.

0

A, ze tak zapytam, po cholere ci to?

0
Wolverine napisał(a)

A, ze tak zapytam, po cholere ci to?

napisalem, ze mi sie nie podoba definiowanie w plikach naglowkowych to raz
a dwa, czas zbudowania aplikacji po modyfikacji w plikach naglowkowych jest dluzszy niz po modyfikacji cpp
trzy podczas debugowania nie moge czesto podejrzec zawartosci zmiennych w funkcjach umieszczonych w plikach naglowkowych

ale skoro sie nie da to trudno

0

napisalem, ze mi sie nie podoba definiowanie w plikach naglowkowych

W plikach nagłówkowych umieszcza się przeważnie deklaracje funkcji .
Żródła w osobnych plikach [żródłowych] .
Definicje fun zawartych w klasie podobnie , nie są umieszczane w plikach nagłówkowych..
więc o co chodzi ?

0
dzejo napisał(a)

Definicje fun zawartych w klasie podobnie , nie są umieszczane w plikach nagłówkowych..
więc o co chodzi ?

Umieszcza sie jak sie chce zeby byly inline ...

koniec tematu bo widze, ze poki co kompilatory nie maja mozliwosci o ktore mi chodzi

0

Zle mnie chyba zrozumiales, po cholere ci funkcje inline? Bo jakos nie wierze zeby istnial jakis problem ktory by tego wymagal.

0
Wolverine napisał(a)

Zle mnie chyba zrozumiales, po cholere ci funkcje inline? Bo jakos nie wierze zeby istnial jakis problem ktory by tego wymagal.

wywołanie funkcji kosztuje troche czasu :) a inline sprawia, ze tego wywolania nie ma i tylko o to mi chodzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1