Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Mi az a __nonnull() ???

»

Mi az a __nonnull() ???

nyitotta: darklight9, idő: 2010.03.11., moderátor: netangel
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » C

Sorrend:
Időzóna:
Blokkméret:
Sziasztok,
az lenne a kérdésem, hogy a C fejállományokban mit jelent a __nonnull a függvénydeklarációkban?

Például:
// <dirent.h>
extern DIR *opendir (__const char *__name) __nonnull ((1));

Igazából válasznak jobban örülnék egy (angol) C referenciának, ahol ez is le van írva.

Köszönettel,
DarkLight
Ez egy fordito-specifikus makro, keresd a definiciojat!
Próbáltam kideríteni evvel a /usr/include könyvtárban:
cat * | grep -i "#define __nonnull"

de nem segített, több mélységben is próbálkoztam, idáig:
cat */*/*/*/*/*/*/*/* | grep -i "#define __nonnull"

és semmit nem adott ki...

Hogy deríthetném ki, hogy hol van ez a definíció? Vagy ha nem az include mappában van, akkor hol lehet még?
Jó, figyelmetlen voltam, azt hiszem, itt a válasz:
http://www.ohse.de/uwe/articles/gcc-attributes.html#func-nonnull

Köszönöm a gyors segítséget!!!
Kiderítettem, hogy a <sys/cdefs.h> -ban van a következő #define:
/* The nonull function attribute allows to mark pointer parameters which
must not be NULL. */
#if __GNUC_PREREQ (3,3)
# define __nonnull(params) __attribute__ ((__nonnull__ params))
#else
# define __nonnull(params)
#endif

Ez megmagyarázza, hogy miért nem kell az __attribute__(( )), és hogy a szóköz miatt nem találtam meg a fájlt.

A gcc pedig elfogadja azt is, hogy
__attribute__((__nonnull__(params) ))

és azt is, hogy
__attribute__((nonnull(params) ))

Remélem ez majd segít, ha valaki idetévedne, mert hasonlóan kíváncsi, mint én, főleg, mivel ez talán nincs így sehol leírva, vagy csak a google nem indexelte az első lapok közé nekem. =)

Köszi mégegyszer klorand az útbaigazítást, nélküle nem tudtam volna, merre keressem a megoldást.
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen