


A quoi sert la compilation croisée Linux ?
Sous Linux, la compilation croisée est un programme de compilation qui s'exécute dans un environnement informatique, qui peut compiler du code qui s'exécute dans un autre environnement ; le programme compilé de manière croisée a diverses ressources dans l'environnement cible à exécuter, il est donc limité. il est difficile d'effectuer une compilation locale directe. Parfois, c'est parce que la plate-forme cible n'autorise pas ou ne peut pas installer le compilateur dont nous avons besoin, et nous avons besoin de certaines fonctionnalités de ce compilateur, nous devons donc utiliser la compilation croisée.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
À quoi sert la compilation croisée Linux
Qu'est-ce que la compilation croisée
Compilation locale
Avant d'expliquer ce qu'est la compilation croisée, nous devons d'abord comprendre un concept : la compilation locale
Notre développement logiciel commun avant, Ils appartiennent tous à une compilation locale : sous le PC actuel, sous le CPU x86, le programme peut être compilé directement, et le programme (ou le fichier bibliothèque) peut être exécuté, qui peut être directement compilé dans l'environnement actuel, c'est-à-dire , sous le processeur x86, dans l'exécution de l'ordinateur actuel.
La compilation à ce moment peut être appelée : compilation locale, c'est-à-dire que le programme compilé peut être exécuté sous la plateforme cible actuelle simplement en le plaçant sur la plateforme actuelle.
Compilation croisée
La compilation croisée est un concept correspondant à la compilation locale.
La soi-disant compilation croisée est la suivante : compilé sur une plate-forme, le programme compilé est exécuté sur une autre plate-forme, c'est-à-dire que l'environnement compilé est différent de l'environnement d'exécution et est compilé de manière croisée. .
Cross-compilation, ce concept est principalement lié au développement embarqué.
Par exemple. : Compilez sur la plateforme x86 et exécutez sur la plateforme ARM.
L'un des exemples les plus courants est :
Lorsque vous faites du développement embarqué, vous disposez d'une carte de développement embarquée. Le CPU est arm et vous le développez sous une plateforme x86, comme Ubuntu Linux, ou Win 10 puis Configuration requise. :
Sur la plate-forme x86, (utilisez un compilateur croisé) pour compiler le code du programme que vous avez écrit
Le programme compilé (exécutable) est placé sur la carte de développement cible et exécuté sur le processeur du bras
Voici ce que cela signifie : compilé sur la plateforme x86 et exécuté sur la plateforme ARM.
La compilation croisée est souvent écrite sous forme de compilation croisée en anglais. Il existe également d'autres façons d'écrire : crosscompile, cross compilation, etc.
Pourquoi la compilation croisée
La principale raison pour laquelle il y a une compilation croisée est : il y a trop peu de ressources dans le système embarqué
L'explication spécifique est : le programme compilé de manière croisée doit s'exécuter dans l'environnement cible , diverses ressources sont relativement limitées, il est donc difficile d'effectuer une compilation locale directe.
La situation la plus courante est la suivante : lors du développement embarqué, la plate-forme cible, c'est-à-dire la carte de développement embarquée, par exemple, est un processeur ARM avec une fréquence maximale de 200 MHz, plus 32 Mo de RAM, plus 1G Nand Flash, etc. Dans l'hypothèse de ressources matérielles aussi limitées, et en partant du principe que Linux intégré est déjà en cours d'exécution, il n'est pas pratique de le compiler directement localement sous Linux intégré ou de le compiler sous le processeur ARM. Fournit des programmes que les processeurs ARM peuvent exécuter. Étant donné que la compilation et le développement nécessitent des quantités relativement importantes de CPU, de mémoire, de disque dur et d'autres ressources, et que les quelques ressources nécessaires au développement intégré suffisent uniquement à exécuter le système intégré (Linux), il ne reste pas beaucoup de ressources que vous pouvez utiliser localement. Compiler.
BusyBox contient make et d'autres outils liés à la compilation et au développement
En conséquence, lorsque vous vous familiariserez plus tard avec le développement embarqué et Busybox, par exemple, lors de la configuration de Busybox dans Buildroot, ou lors de la compilation croisée de BusyBox seul :
【 Record] Cross -compilez BusyBox pour la plateforme arm de QEMU sous Ubuntu
et vous verrez que la dernière BusyBox, après l'ajout de ses fonctions, a également inclus certains outils liés à la compilation et au développement, comme make, etc.
Et ces outils, à l'origine , il n'était utilisé que côté PC, c'est-à-dire que lors du développement sous la plate-forme x86, il n'était utilisé que lors de la compilation croisée. Désormais, il est également pris en charge dans l'environnement embarqué (BusyBox).
À ce stade, si vous sélectionnez tous les outils de développement pertinents dans BusyBox,
De plus, si la configuration matérielle de votre carte de développement cible est suffisamment puissante, par exemple, le CPU est mesuré en GHz, etc.
De plus , si les bibliothèques et outils de développement associés sont complets
En fait, du moins en théorie, cela peut également être réalisé dans votre Linux embarqué, dans une mesure limitée, voire dans une large mesure, effectuer directement du développement local. développement intégré sur la carte de développement ARM et Linux embarqué, et effectuer une compilation locale pour ARM
Par exemple, on estime qu'il est possible de compiler un helloworld.
De cette façon, la compilation croisée évoquée ici n'existe pas, ou en d'autres termes, est évitée, et devient une compilation locale
Elle est équivalente au compilateur précédent côté PC x86, fonctionnant sur le CPU x86 Compilation locale est également implémenté dans les processeurs ARM et Linux embarqué. Cependant, il est évident que pour des programmes ou des bibliothèques plus complexes, la faisabilité et l'efficacité de la compilation directe sur les cartes de développement ARM sont relativement faibles.
Et si vous lancez Uboot et d'autres choses vous-même et que l'environnement d'exploitation cible ne dispose pas d'un système complet (Linux intégré), il sera alors encore plus impossible de réaliser une compilation locale sur la plate-forme cible.
Vous ne pouvez toujours effectuer, comme mentionné ici, qu'une compilation croisée
Apprentissage recommandé : Tutoriel vidéo Linux
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les principales différences entre Centos et Ubuntu sont: l'origine (Centos provient de Red Hat, pour les entreprises; Ubuntu provient de Debian, pour les particuliers), la gestion des packages (Centos utilise Yum, se concentrant sur la stabilité; Ubuntu utilise APT, pour une fréquence de mise à jour élevée), le cycle de support (CentOS fournit 10 ans de soutien, Ubuntu fournit un large soutien de LT tutoriels et documents), utilisations (Centos est biaisé vers les serveurs, Ubuntu convient aux serveurs et aux ordinateurs de bureau), d'autres différences incluent la simplicité de l'installation (Centos est mince)

Étapes d'installation de CentOS: Téléchargez l'image ISO et Burn Bootable Media; démarrer et sélectionner la source d'installation; sélectionnez la langue et la disposition du clavier; configurer le réseau; partitionner le disque dur; définir l'horloge système; créer l'utilisateur racine; sélectionnez le progiciel; démarrer l'installation; Redémarrez et démarrez à partir du disque dur une fois l'installation terminée.

Centos sera fermé en 2024 parce que sa distribution en amont, Rhel 8, a été fermée. Cette fermeture affectera le système CentOS 8, l'empêchant de continuer à recevoir des mises à jour. Les utilisateurs doivent planifier la migration et les options recommandées incluent CentOS Stream, Almalinux et Rocky Linux pour garder le système en sécurité et stable.

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

CentOS a été interrompu, les alternatives comprennent: 1. Rocky Linux (meilleure compatibilité); 2. Almalinux (compatible avec CentOS); 3. Serveur Ubuntu (configuration requise); 4. Red Hat Enterprise Linux (version commerciale, licence payante); 5. Oracle Linux (compatible avec Centos et Rhel). Lors de la migration, les considérations sont: la compatibilité, la disponibilité, le soutien, le coût et le soutien communautaire.

Une fois CentOS arrêté, les utilisateurs peuvent prendre les mesures suivantes pour y faire face: sélectionnez une distribution compatible: comme Almalinux, Rocky Linux et CentOS Stream. Migrez vers les distributions commerciales: telles que Red Hat Enterprise Linux, Oracle Linux. Passez à Centos 9 Stream: Rolling Distribution, fournissant les dernières technologies. Sélectionnez d'autres distributions Linux: comme Ubuntu, Debian. Évaluez d'autres options telles que les conteneurs, les machines virtuelles ou les plates-formes cloud.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.
