2009-07-27 5 views

Répondre

1

Ceci est une très bonne question, et j'espère qu'elle obtiendra une vraie réponse. D'après ce que je peux comprendre, un symbole "global" d'une DLL devrait être explicitement importé via un fichier d'en-tête associé. Si vous avez deux symboles identiques, quel que soit le dernier symbole défini, dans le fichier c, est celui qui aurait préséance. Autrement dit, si vous avez ABC.c, et en haut, vous devez importer XYZ.h, puis définir int x. Vous soit clobber l'int x à partir de XYZ.h, ou vous obtenez une erreur de compilation.

0

La variable int x doit être déclarée comme extern int x dans le fichier d'en-tête de XYZ. Et où que vous utilisiez cette variable, déclarez simplement cette variable. Comme dans ABC.c dans l'espace global déclarer cette variable comme int x;

Questions connexes