Nyt ei ole siis kyse "user includesta" eli #include "file.h"
Vaan system includesta #include
Kääntäjä: mingw-gcc 4.4.0
ympäristö: Windows XP professional
Päätin itse hieman tutkia asiaa...
Löytyi 287 sellaista hakemistoa, joissa on vähintään yksi .h -tiedosto, ja joka hakemisto on joko C:\Mingw\ tai jokin sen (suora tai epäsuora) alihakemisto.
Tein ohjelman, joka selvittää, etsitäänkö todella automaattisesti (siis ilman että gcc:lle annetaan kääntäjäoptiona hakemistoa tai hakemistoja, joista noita system includeja etsiä) kaikista em. 287 hakemistosta !
Tulos: ei etsitä.
Vain 4 ensimmäistä käännösyritystä onnistui, ja jo 5:nnen kohdalla tuli virheilmoitus: "error: my_test_include.h: No such file or directory"
Eli siis näistä neljästä hakemistosta etsitään system includeja ja tässä järjestyksessä:
C:\Mingw\include\
C:\Mingw\lib\gcc\mingw32\4.4.0\include\
C:\Mingw\lib\gcc\mingw32\4.4.0\include-fixed\
C:\Mingw\mingw32\include\
Kysymys teille lukijoille:
Pitääkö saamani tulos paikkansa, vai onko testiohjelmassani jokin virhe ?
Olin siis aiemmin laittanut kaikkiin 287:aan hakemistoon tiedoston
my_test_include.h
jonka olennaisin sisältö oli tämä:
#define test_value 1
...
#define test_value 287
(kussakin eri hakemistossa siis muuten samanlainen my_test_include.h, mutta numeroarvo kullekin yksilöllinen 1 .. 287 )
Sitten testiohjelmani ajoi gcc:n 2*287 kertaa (kukin pari: a) kääntää ja b) linkkaa DLL:ksi c- kielellä kirjoittamani DLL -kirjaston) ja kunkin kerran jälkeen lataa DLL:n LoadLibraryllä, kutsuu testifunktiota DLL:stä ja sitten FreeLibrary(Handle)
Onnistuneen käännöksen, linkityksen ja ajon jälkeen testiohjelmani poisti sen includefilen, jossa oleva arvo vastaa käännetyn DLL:n palauttamaa ja sitten silmukan seuraavaan kierrokseen - silmukka päättyy kun joko
a) kaikki 287 hakemistoa on käyty läpi
TAI
b) kääntäminen päätty virheeseen.
Tuloksena siis 4 ensimmäistä käännöstä 287 mahdollisesta menivät läpi ok, ja jo 5:nnen kohdalla includea ei siis löytynyt.
Oliko saamani tulos siis oikea vai menikö jotain odottamatonta pieleen ?
mingw-gcc system include, hakemistot, joista etsitään ... ?
mingw-gcc_selväksi
3
253
Vastaukset
- fix_forumware
Joops.... forumsofta ei hyväksy pienempi kuin ja suurempi kuin -merkkejä sellaisenaan vaan niiden välissä ollut sisältö jäi pois.
No, kokeillaanpa samaa käyttämällä ns. html entity:jä:
siis ...
Nyt ei ole siis kyse "user includesta" eli #include "file.h"
Vaan system includesta #include - vappu alkoi
Taisit siis jo alottaa vapun. Klara vappen!
- le_coder
huomaa että #include hakemisto/my_test_include.h on myös validi muoto...
sinulla voi olla kääntäjän cache käytössä... kääntäjällä on myös optiot include poluista....
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mitä yhteistä on sulla ja kaivatulla?
Onko teillä samantyyppinen olemus tai luonne? Vai muistuttaako vartalonne toisiaan? Tai kasvot? Entä pukeutuminen? Onko991546Kerran oltiin mekin kahdestaan
Saanko sanoa, että minua kyllä vähän huvitti jälkeenpäin? Olit kuin vapiseva jänis ketun vieressä valmis loikkimaan paik131216- 2301200
Persut yritti estää somalinaista väittelemästä lääketieteen tohtoriksi
Yrittivät saada hänet lähihoitajakouluun, vaikka pärjäsi hyvin koulussa. Nyt hän on yliopistossa väitellyt lääketieteen2671068Oikeasti, voitais mennä kahville
ja jutella niin kuin normi-ihmiset. Kyllä toivon sitä. En pelkää kohdata enkä istua sun kanssa samassa pöydässä. Miten o81989- 141970
Jos nainen harrastaa seksiä
Useiden kanssa, miten se eroaa miesten mielestä siitä, jos miehellä on ollut useita s kumppaneita? Oletan että kaikki mi179963Pihlaja-puulle
Illat on mulle pahimpia. En tiiä miks se olis vaan parasta yöstä toiseen nukkua sun kanssa ja herätä sun kasvoihin. Jos15949- 74819
Yritin keväällä unohtaa sinut nainen
mutta siinä kävi niin, että ikävä tuli korkoineen takaisin. Niin että mikä taikavoima sinulla on minuun, sitä joutuu mie33812