Table des matières
À quoi sert la compilation croisée Linux
Maison Opération et maintenance exploitation et maintenance Linux A quoi sert la compilation croisée Linux ?

A quoi sert la compilation croisée Linux ?

Aug 17, 2022 pm 05:31 PM
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.

A quoi sert la compilation croisée Linux ?

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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Différence entre Centos et Ubuntu Différence entre Centos et Ubuntu Apr 14, 2025 pm 09:09 PM

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)

Comment installer CentOS Comment installer CentOS Apr 14, 2025 pm 09:03 PM

É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 arrête la maintenance 2024 Centos arrête la maintenance 2024 Apr 14, 2025 pm 08:39 PM

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.

Explication détaillée du principe docker Explication détaillée du principe docker Apr 14, 2025 pm 11:57 PM

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.

Le choix de Centos après l'arrêt de l'entretien Le choix de Centos après l'arrêt de l'entretien Apr 14, 2025 pm 08:51 PM

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.

Que faire après Centos arrête la maintenance Que faire après Centos arrête la maintenance Apr 14, 2025 pm 08:48 PM

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 Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

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).

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

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.

See all articles