当前位置:网站首页>Quel est le fichier makefile?
Quel est le fichier makefile?
2022-04-23 01:48:00 【Beau gosse.】
Contact initial Makefile Toujours en train d'écrire avec des amis Go Au moment du projet,Il nous a présenté,Le premier sentiment que j'ai entendu,Je me sens bien,En tant que Manon,Pour une technologie inconnue,Il faut garder la curiosité,Peu importe.,Comprendre d'abord,On verra.
On trouvera ci - après une série d'exposés officiels:
Beaucoup. Linux (Unix) Les débutants en développement ne comprennent pas Makefile Qu'est - ce que c'est?,Même la plupart Windows L'ingénieur en développement est d'accord avec Makefile Sont étranges..C'est normal,Si vous étiez Windows Il n'y a pas besoin d'y penser pour le prochain développement,Parce que Windows Environnement de développement intégré(IDE)Déjà intégré Makefile,Ou générer automatiquement Makefile,On n'a pas à écrire manuellement.
Linux Mais pas comme ça,Il nous faut faire le travail manuellement.Linux Il y a beaucoup de langues de développement à apprendre,Les plus courants sont C/C++ Langues、python、java Attendez un peu!.Si vous voulez Linux (Unix) Si vous faites le développement,Je ne comprends pas Makefile C'est un échec,Tu ne peux même pas être qualifié Linux Development Engineer.Je ne comprends pas. Makefile,Il n'y a pas de programmation Multi - fichiers,Ne peut pas terminer l'opération par rapport à un grand projet d'ingénierie.Si vous voulez Linux (Unix) Si vous développez dans l'environnement,Makefile Est une compétence qui doit être maîtrisée.
Alors,Qu'est - ce que c'est? Makefile Et alors??
Makefile Une règle de compilation qui peut être considérée simplement comme un fichier d'ingénierie,Décrit les règles de compilation et de liaison pour l'ensemble du projet.Il contient les fichiers qui doivent être compilés,Ces fichiers n'ont pas besoin d'être compilés,Ces fichiers doivent être compilés en premier,Ces fichiers doivent être post - compilés,Ces fichiers doivent être reconstruits, etc.La compilation de l'ensemble du projet implique,In Makefile Peut être décrit dans.En d'autres termes,,Makefile Peut automatiser la compilation de nos projets,Il n'est pas nécessaire d'entrer manuellement un tas de fichiers sources et de paramètres à chaque fois.
Un tas de copies ,Résumé:
make Introduction
make Est un outil d'automatisation de la construction , Recherche dans le répertoire actuel Makefile Ou makefile Documentation. S'il existe un fichier correspondant , Il accomplit la tâche de construction selon les règles qui y sont définies .
Makefile Introduction
On peut mettre Makefile Il s'agit simplement de définir les règles de compilation d'un fichier de projet .Aide Makefile Nous n'avons plus besoin de saisir manuellement les commandes et les paramètres compilés à chaque fois que nous compilons , Peut grandement simplifier le processus de compilation du projet .Utilisation simultanée Makefile Vous pouvez également définir des règles et des processus de compilation spécifiques dans votre projet , De nombreux projets open source définissent Makefile Documentation.
Arrête tes conneries., Faites vite. Go Rédaction du projet Makefile
Aperçu des règles
Makefile Composé de plusieurs règles , Chaque règle se compose principalement de deux parties ,Ce sont les dépendances et les commandes exécutées.
Sa structure est la suivante::
[target] ... : [prerequisites] ...
<tab>[command]
...
...
Parmi eux:
- targets:Objectifs des règles
- prerequisites: Facultatif pour générer targets Fichiers ou cibles requis.
- command:make Commandes à exécuter(Arbitraire shell Les ordres).Il peut y avoir plusieurs commandes,Chaque commande prend une ligne.
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o xx
Exemple
.PHONY: all build run gotool clean help
BINARY="myapp"
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${
BINARY}
run:
@go run ./
gotool:
go fmt ./
go vet ./
clean:
@if [ -f ${
BINARY} ] ; then rm ${
BINARY} ; fi
help:
@echo "make - Formatage Go Code, Et compiler pour générer des binaires "
@echo "make build - Compiler Go Code, Générer des binaires"
@echo "make run - Fonctionnement direct Go Code"
@echo "make clean - Supprimer les binaires et vim swap files"
@echo "make gotool - Exécution Go Outils 'fmt' and 'vet'"
Ou
.PHONY:clean
clean:
rm -rf *.o test
.PHONY:run
run:
@go run ./
- BINARY=”myapp” Est la variable de définition.
- PHONY Utilisé pour définir une fausse cible . Ne pas créer de fichier cible , Au lieu de cela, exécutez les commandes sous cette cible .
- @ Le symbole signifie exécuter cette commande mais ne pas l'exporter
- clean Les commandes peuvent être vues pour soutenir shell Les ordres
版权声明
本文为[Beau gosse.]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230147258063.html
边栏推荐
- NR polar code VII - SCL (successful cancellation list coding)
- DFS parity pruning
- Realize the function of progress bar through layerdrawable
- . net unit test Part 1: common Net unit test framework?
- Detonate the bomb (DFS)
- Technology cloud report: cloud computing has entered the "second half". Where is the way out for domestic cloud?
- RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimensio
- 紫光国微财报一枝独秀 2021年净利润三位数增长靠什么
- [tutorial] how to use GCC "zero assembly" for white whoring MDK
- UVC camera encapsulation class
猜你喜欢

Qingyan environment and Shenzhen Stock Exchange listing: annual revenue of 180 million and market value of 4.1 billion

动态代理ip的测试步骤有哪些?

The most easy to understand service container and scope of dependency injection
![[experience tutorial] Alipay balance automatically transferred to the balance of treasure how to set off, cancel Alipay balance automatically transferred to balance treasure?](/img/d5/6aa14af59144b8c99aa6a367479f6b.png)
[experience tutorial] Alipay balance automatically transferred to the balance of treasure how to set off, cancel Alipay balance automatically transferred to balance treasure?

42. Use k3det in mmrotate for rotating target detection, MNN deployment and ncnn deployment

拨号服务器是什么,有什么用处?

搭建网站是用物理机还是云主机好?
![NPM yarn startup error [resolved]](/img/8a/8351c33e30da8e08ac0dcb7c7c868e.png)
NPM yarn startup error [resolved]

BGP服务器在什么业务场景会被用到?

电子采购如何成为供应链中的增值功能?
随机推荐
Leetcode-阶乘函数后 K 个零
Implementation of Base64 encoding / decoding in C language
什么是代理IP池,如何构建?
Redis implements distributed locks
BGP服务器在什么业务场景会被用到?
客户端项目管理经常面临的挑战
mb_ substr()、mb_ Strpos() function (story)
Garlic customer: equilateral triangle (DFS)
有哪些业务会用到物理服务器?
The most understandable life cycle of dependency injection
什么是布尔类型?
Jerry's factors that usually affect CPU performance test results are: [article]
紫光国微财报一枝独秀 2021年净利润三位数增长靠什么
EBS:PO_EMPLOYEE_HIERARCHIES_ALL
Sqlserver data transfer to MySQL
Technology cloud report: cloud computing has entered the "second half". Where is the way out for domestic cloud?
W801 / w800 WiFi socket development (II) - UDP Bluetooth control WiFi connection
Solve the problem when installing MySQL
拨号服务器是什么,有什么用处?
NPM yarn startup error [resolved]