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
156
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
En usko et meistä tulee jotain
Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel102880- 1152145
Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"
Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei431554- 2601398
- 701013
Olen J-mies
Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.47911- 55884
Ei sitten, ei olla enää
Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na77880- 44795
Ma 30.9 tosiko tv klo 18 suorana Tikkalanmäeltä
Virastolta suorana. Äänestyksistä sitten puhutaan illalla ja huomenna, onko kepuvasemmisto kuntalaisten tahdon mukaan to93736