Maison >développement back-end >C++ >Visual Studio et MSBuild

Visual Studio et MSBuild

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 16:25:11128parcourir

Visual Studio and MSBuild

Visual Studio - développement pour l'exécution de programmes et de fichiers en mode assembleur de code et de bibliothèque.

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
</Project>

En utilisant l'exemple du fichier implémenté avec l'extension .vcxproj, nous voyons la structure que MSBuild assemblera dans un certain ordre.

<ItemGroup>
    <ClCompile Include="AssemblyInfo.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="UnitTest.cpp" />
  </ItemGroup>
  1. Différents niveaux d'abstraction, comme , déterminent l'ordre dans lequel le compilateur est construit et configuré lors de l'exécution du code
  2. La structure XML, .vcxproj.filters, .vcxproj.user réserve non seulement de l'espace sur le disque dur, mais également, comme Docker, alloue un conteneur pour le fichier exécutable, sauvegardant les modifications
  3. Le schéma consiste à spécifier un assembly spécifique avec un chemin de fichier sur le site Web de Microsoft xmlns="http://schemas.microsoft.com/developer/msbuild/2003

Différents systèmes d'exploitation mobiles (Android/iOS) ont différents moteurs de programme exécutables. De même, lors du lancement de VS, nous prenons en compte l'environnement et le typage de nos structures.

<ItemGroup>
    <ClInclude Include="stdafx.h">
      <Filter>Header files</Filter>
    </ClInclude>
    <ClInclude Include="resource.h">
      <Filter>Header files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\RootFinder\RootFinder\RootFinder.h">
      <Filter>Header files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="app.rc">
      <Filter>Resource files</Filter>
    </ResourceCompile>
  </ItemGroup>
  <ItemGroup>
    <Image Include="app.ico">
      <Filter>Resource files</Filter>
    </Image>
  </ItemGroup>

Nous listons explicitement les classes de fichiers impliqués dans l'assembly et le nom avec extension. Cela commence à filtrer les objets du projet, classés par dossiers exécutables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn