mingw-gcc system include, hakemistot, joista etsitään ... ?

mingw-gcc_selväksi

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 ?

3

156

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. En usko et meistä tulee jotain

      Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel
      Ikävä
      10
      2880
    2. Kuvaile itseäsi

      Kaivatullesi, niin että hän sinut tunnistaa.
      Ikävä
      115
      2145
    3. 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 ei
      Suomalaiset julkkikset
      43
      1554
    4. Huomenta keskipäivää

      Kivaa päivää mukaville ja söpösille. 🐺🫅❤️☕☀️
      Ikävä
      260
      1398
    5. Oletko koskaan katunut kun

      elämäsi tilaisuus jäi käyttämättä? 💔
      Ikävä
      70
      1013
    6. Olen J-mies

      Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.
      Ikävä
      47
      911
    7. Sinusta näkee että

      Kaipaat paljon.
      Ikävä
      55
      884
    8. 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 na
      Ikävä
      77
      880
    9. Haluaisin ottaa sinut syleilyyni mies

      Olet suloinen...
      Ikävä
      44
      795
    10. Ma 30.9 tosiko tv klo 18 suorana Tikkalanmäeltä

      Virastolta suorana. Äänestyksistä sitten puhutaan illalla ja huomenna, onko kepuvasemmisto kuntalaisten tahdon mukaan to
      Pyhäjärvi
      93
      736
    Aihe