Linker vs. extern Linux és Windows környezetben
2011-04-22T10:56:07+02:00
2011-04-23T21:10:34+02:00
2022-08-04T00:05:35+02:00
krisy
Sziasztok!

A kérdés leegyszerűsítve az alábbi: mi a különbség a Windows-os és a Linux-os Linker-ek között?
Konkrétan mindkét oprendszer alatt gcc-vel az alábbi kódot probálom fordítani:

extern int foo; int main() { foo =1; return 0; }

Linux alatt fordul a kód, Windows alatt a Linker "unresolved external symbol"-lal elszáll.

Rávehető valahogy a fordítót, hogy Win alatt is forduljon?

U.i.: A fenti kódnak "alapból" nem sok értelme lenne A hosszabb magyarázat az, hogy van egy OpenSource alkalmazás, ami futásidőben tölt be so/dll fájlokat. Szeretném az eredeti alkalmazásnak elérni bizonyos változóit, függvényeit (a betöltött könyvtárból), mely változók, függvények extern-ként kerültek megadásra az alkalmazás header fájlbaiban (melyeket include-olok). Linux alatt fordul a kód, sőt, megfelelően is működi, míg Windows alatt a linker a fentiekkel elszáll.
Mutasd a teljes hozzászólást!

abcd