C kielessä luokan määrittelyn sisään määritellyistä funktioista tulee aina inline-funktioita!
class foo
{
public:
JokuFunktio()
{
// tästä tulee inline-funktio!
...
}
...
};
Mikrosoftin Visual Studiossa on mahdollista käyttää __declspec(noinline) komentoa:
#define unline __declspec(noinline)
class foo
{
public:
unline JokuFunktio()
{
// nyt tämä ei toimi muissa kääntäjissä!
...
}
...
};
mutta onko muissa kääntäjissä olemassa jotain samanlaista komentoa tai jotain?
class foo
{
public:
JokuFunktio()
{
// tästä tulee inline-funktio!
...
}
...
};
Mikrosoftin Visual Studiossa on mahdollista käyttää __declspec(noinline) komentoa:
#define unline __declspec(noinline)
class foo
{
public:
unline JokuFunktio()
{
// nyt tämä ei toimi muissa kääntäjissä!
...
}
...
};
mutta onko muissa kääntäjissä olemassa jotain samanlaista komentoa tai jotain?
Vastaukset 1
Vanhimmat
Miksi haluat kirjoittaa sitä koodia sinne otsikkotiedostoon? Ei niin kannata tehdä ellet oikeasti halua tehdä inline-funktioita. Ei kannata olla niin laiska ettei jaksa tehdä sitä lähdekooditiedostoa otsikkotiedoston lisäksi.
Eihän objektitiedostojen linkkaus voi määritelmänkään mukaan toimia jos sitä koodia kirjoitellaan otsikkotiedostoon. Tuollainen unline-komento on äärimmäisen huono idea ja toivottavasti muut kuin mikrosoft [sic!] eivät ole sellaista toteuttaneet.