当前位置:网站首页>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
边栏推荐
- 动态代理ip的测试步骤有哪些?
- Summary of LSF usage
- 什么时候应该编写单元测试?什么是TDD?
- After disk D is distributed to Disk C, what should I do if the database recovery hangs? Please answer
- 搭建网站是用物理机还是云主机好?
- [registration] tf54: engineer growth map and excellent R & D organization building
- Uncover floating-point operations hidden by the ARM compiler
- Futr3d: a unified 3D detection framework for sensor fusion
- How to "gracefully" measure system performance
- [tutorial] how to use GCC "zero assembly" for white whoring MDK
猜你喜欢

MySQL basic record

Communication summary between MCU and 4G module (EC20)

The most easy to understand service container and scope of dependency injection

Server 2019 the available memory of the server is half of the actual memory

W801/W800-wifi-socket开发(二)-UDP蓝牙控制wifi连接

Realize the function of progress bar through layerdrawable

ESP32蓝牙Bluetooth Controller API介绍

揭秘被Arm编译器所隐藏的浮点运算

Basic knowledge of software testing, you can meet the interviewer after reading it

搭建个人主页保姆级教程(二)
随机推荐
动态代理ip的测试步骤有哪些?
npm——配置淘宝镜像
LSF的常用使用命令总结
LSF的使用方法总结
如何选择一台好的拨号服务器?
第六章 使用 matplotlib 绘制热力图
角色个人属性英文缩写
Learning methods and career development guide (2022 Edition)
有哪些业务会用到物理服务器?
拨号服务器是什么,有什么用处?
Oracle database query lock table SQL script and delete lock information script (necessary for database development ETL and DBA)
[Leetcode每日一题]396. 旋转函数
Garlic Junkai company (DFS full arrangement)
The leader / teacher asks to fill in the EXCEL form document. How to edit the word / Excel file on the mobile phone and fill in the Excel / word electronic document?
Tight coupling of visual wheel odometer
42. Use k3det in mmrotate for rotating target detection, MNN deployment and ncnn deployment
RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimensio
Uncover floating-point operations hidden by the ARM compiler
2022.4.10-----leetcode.804
中金财富是国企吗,开户安全吗