Jak w temacie. Chodzi o AVR GCC. Chcia³bym ul¿yæ sobie i nie wypisywaæ osiemna¶cie razy tej samej nazwy zmiennej strukturalnej. Czy siê da?
Czy w C jest odpowiednik pascalowego with
Aug 23, 2006
8 Replies
mozesz np stworzyc macro ewentualnie uzyc jakiejs prostej nazwy np
#define a dluga_nazwa
Pozdrawiam, Rafal
Nazwy krótkie to ju¿ mam. A jak siê robi makra? Nie wiedzia³em, ¿e jest taka mo¿liwo¶æ i zawsze robiê zamiast makra oddzielny plik w³±czany za pomoc± #include tam, gdzie potrzebujê. Do tego kilka #define i jest co¶ a'la makro.
Bogdan Gutknecht schrieb:
na przykład tak:
#define plus(x,y) ((x)+(y))
ale lepiej dać funkcję inline zamiast tego, mniej efektów ubocznych
Co do with to go w C nie ma. Można się posłużyć wskaźnikami zamiast tego, czasem.
Waldek
U¿ytkownik "Waldemar" snipped-for-privacy@infocity.de napisa³ w wiadomo¶ci news: snipped-for-privacy@uni-berlin.de...
A funkcje inline s± w C ? P.G.
Piotr Gałka schrieb:
w C nie, ale niektóre kompilatory C++ pozwalają na użycie inline też w programach C. Nie wiem, czy gcc jest takowym.
Waldek
Jest.
m.
w standardzie C99 s± - je¶li masz kompilator zgodny z tym standardem. pozdrawiam grzesyou
To nie jest makro. Niestety taka konstrukcja ograniczona jest do jednej linii
Aby kompilator skompilowa³ inline jako inline niestety musi spe³niæ kilka warunków i dlatego nie nadaje siê do nieco bardziej skomplikowanych fragmentów programu. Narazie widzê, ¿e muszê zostaæ przy swoich #include'ach. Zastanawia³em siê nad #template, ale te¿ siê nie nadaje do u¿ycia jako makro.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required