Sdílet prostřednictvím


Výběr formátu vstupních souborů .netmodule

Jako soubor můžete použít soubor MSIL .obj (zkompilovaný se souborem/clr.netmodule). .obj soubory obsahují metadata a nativní symboly. .netmodules obsahují pouze metadata.

Předejte soubor MSIL .obj libovolnému jinému kompilátoru sady Visual Studio s možností kompilátoru /addmodule . Soubor .obj se stane součástí výsledného sestavení a musí být dodáván se sestavením. Například Visual C# a Visual Basic mají možnost kompilátoru /addmodule .

Note

Ve většině případů musíte soubor linkeru .obj předat z kompilace, která vytvořila modul .net. .dll Předání souboru modulu MSIL .netmodule linkeru může vést k LNK1107.

.obj soubory spolu s přidruženými .h soubory, na které odkazujete prostřednictvím #include ve zdroji, umožňují aplikacím jazyka C++ využívat nativní typy v modulu. .netmodule V souboru může aplikace C++ využívat pouze spravované typy. Pokud se pokusíte předat .obj soubor #using, informace o nativních typech nejsou k dispozici. Místo toho #include .obj soubor souboru .h .

Další kompilátory sady Visual Studio můžou využívat pouze spravované typy z modulu.

Následující doprovodné materiály vám pomůžou určit, jestli potřebujete jako vstup modulu do linkeru MSVC použít .netmodule soubor nebo .obj soubor:

  • Pokud vytváříte s jiným kompilátorem sady Visual Studio než Visual C++, vytvořte .netmodule a použijte ho .netmodule jako vstup pro linker.

  • Pokud používáte kompilátor MSVC k vytváření modulů a pokud se moduly používají k sestavení něčeho jiného než knihovny, použijte .obj soubory vytvořené kompilátorem jako vstup modulu linkeru. Nepoužívejte .netmodule soubor jako vstup.

  • Pokud se moduly používají k sestavení nativní (ne spravované) knihovny, použijte .obj soubory jako vstup modulu do linkeru a vygenerujte .lib soubor knihovny.

  • Pokud se moduly používají k sestavení spravované knihovny a pokud je možné ověřit všechny vstupy modulů do linkeru (vytvořené pomocí /clr:safe), použijte .obj soubory jako vstup modulu do linkeru a vygenerujte .dll soubor knihovny (sestavení) nebo .netmodule (module).

  • Pokud se moduly používají k sestavení spravované knihovny a pokud je jeden nebo více modulů vstup do linkeru vytvořené pouze /clr, použijte .obj soubory jako vstup modulu linkeru a vygenerujte .dll (sestavení). Pokud chcete zpřístupnit spravované typy z knihovny a chcete, aby aplikace C++ spotřebováovaly nativní typy v knihovně, vaše knihovna se skládá ze .obj souborů pro moduly komponent knihoven. Chcete také odeslat .h soubory pro každý modul, aby se na soubory odkazovaly #include ze zdrojového kódu.

See also

Soubory .netmodule jako vstup linkeru