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

135

    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ällä kertaa Marinia kadehtii Minäminä Päivärinta

      Kokoomuksen tyhjäntoimittelija itkeä tuhertaa, kun kansainvälinen superstaramme ei leiki hänen kanssaan. Oikean puoluee
      Maailman menoa
      392
      1545
    2. Minua itkettää tämä tilanne

      Meidän pitäisi jutella. Eikö niin? Miehelle.
      Ikävä
      105
      1288
    3. Miksi koulut pakottavat

      Lapset uimaan sekaryhmänä? Murrosikäiset tunnetusti häpeilevät vartalossa tapahtuvia muutoksia. Tulee turhia poissaoloja
      Maailman menoa
      116
      1230
    4. Miksi jollain jää "talvi päälle"

      Huvittaa kastoa ullkona jotain vahempaa äijää joka pukeutuu edelleen kun olisi +5 astetta lämmittä vaikka on helle keli
      Maailman menoa
      165
      1155
    5. Mitkä oli suurimmat

      Syyt mihin hänessä ihastuit alussa ja pikkuhiljaa tunteiden edetessä
      Ikävä
      44
      997
    6. Minulla oli tunteita

      Tein itsestäni pellen. Sait hyvät naurut ja minä 💔
      Ikävä
      63
      906
    7. Se katse silloin

      Oli hetki, jolloin katseemme kohtasivat. Oli talvi vielä. Kerta toisensa jälkeen palaan tuohon jaettuun katseeseen. Tunt
      Ikävä
      32
      826
    8. Susanne Päivärinta kirjassaan: Sannalla nousi valta päähän, Big Time!

      Päivärinta toteaa ettei ole nähnyt kenenkään muuttuvan niin totaalisesti kuin Marinin, eikä siis todellakaan parempaan s
      Maailman menoa
      91
      814
    9. Suomen Pallolitto: Tasoryhmät lasten jalkapallossa - Erätauko-tilaisuus ma 20.5.2024

      Tasoryhmät lasten ja nuorten jalkapallossa herättävät paljon keskustelua. Mitä tasoryhmät ovat ja mikä on niiden tarkoit
      Suomi24 Blogi ★
      0
      810
    10. Tuhdit oluet kauppoihin. Miksi vastustaa?

      8% oluet kauppoihin mutta mikä siinä on että osa politikoista vstustaa ? Kauppa kuitenkin hinnoittelee vahvan oluen ni
      Maailman menoa
      170
      709
    Aihe