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

239

    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. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5134
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4308
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      27
      2451
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2234
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      1998
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1908
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1587
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1521
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      21
      1237
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1164
    Aihe