Šķiet, ka atšķirība ir tikai C++ valodā. C valodā extern "C" nemaz nevar rakstīt.
Cik zinu extern "C" atslēdz name mangling eksportētajam simbolam. Tik dīvaini, ka mainīgā vārds varētu tikt "manglots". Funkcijas - jā, tām vārds manglojas.
Ja nu vienīgi T ir kautkāda struktūra, tad gan iespējams MSVC samanglo vārdu.
Tb extern "C" T v; nodeklarēts mainīgais vienā failā nokompilēsies ar vārdu _v, taču, ja otrā failā būs tikai T v; (bez extern "C"), tad nekas nesalinkosies kopā.
(Lasīt komentārus)
Nopūsties: