|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/gnu-make-makefile-to-build-cc-projects-linuxmac/
课程评论:没有评论
**课程名称:** GNU Make & Makefile To Build C/C++ Projects (LINUX, MAC) [2025] **课程概述:** 本课程旨在帮助学习者深入理解 `make` 工具,并通过构建 C/C++ 程序的过程,学习如何编写高效的 Makefile。课程将揭示程序构建过程中的“幕后”机制,特别是中间文件的创建。 课程将以一个生动的真实案例——“制作煎蛋卷”——来讲解 Makefile 的核心概念。学习过程中将完成两个实际项目: * **项目一:** 聚焦于快速上手 Makefile 的编写,无需记忆过多细节,即可生成可执行文件、共享对象(.so)、静态对象(.a),并学习一种“随处链接”的技巧。完成此项目后,学习者将清晰掌握 Makefile 的基本思想,并能创建一套通用的 Makefile 模板,适用于各种项目。 * **项目二:** 在项目一的基础上,通过引入模式(patterns)和函数(functions),进一步优化和改进 Makefile 模板。课程将以“解决问题”为导向,逐步深入。我们将从项目文件夹结构创建开始(展示可用于实际项目的组织方式),并在理解 C/C++ 程序所有可能的输出后,学习解决编程过程中的技术难点。项目结构设计将极大简化部署流程。 课程将从编写简单的 Makefile 开始,并根据实际需求不断进行改进,强调“为什么”和“如何”学习,展示特定概念的实际应用场景。课程中将包含大量的练习,并实时解决遇到的问题。 **课程亮点:** 1. ** minimal 知识编写 Makefile。** 2. **实现“一个 Makefile 调用所有 Makefile”的功能。** 3. **支持交叉编译。** 4. **区分 DEBUG 和 RELEASE 版本。** 5. **实现宏在 Makefile 之间的传递。** 6. **检测终端环境变量,并在 Make 调用之间传递。** 7. **讲解项目高层设计(HLD),让 Makefile 编写更直观。** 8. **提升命令行编译能力。** 9. **理解共享对象链接难题及临时和永久性解决方案。** 10. **项目将在 MAC 上完成,并无缝复制到 Linux,仅通过一个 `make` 命令即可调用所有模块的 Makefile,并完美构建可执行文件、共享对象和静态对象,且无需更改任何一行代码。** **课程内容:** (无具体大纲,但覆盖以上亮点功能。)
Understand make tool & write better makefile by understanding what is happening behind the scene(Creation of intermediate files) during building C/C++ programs. We will understand the makefile by using a real time example( "Creation Of Egg Omelet" ).We are going to do 2 projects during the learning process of makefile.PROJECT#1: Without knowing/remembering too many things you will be able to write a makefile for generating binary, shared object(.so), static object(.a), and also get a trick to link from anywhere. After completion of this project Idea of makefile will be cleared. We are creating a makefile template after completing this project and which can be easily used in any project.PROJECT#2: During implementing this project, we'll improve our makefile and makefile template created in Project#1 by applying patterns, functions.Every step we will face some problem and then apply the solution.We will begin with the PROJECT FOLDER STRUCTURE creation(THIS CAN BE USED IN REAL TIME PROJECTS) after understanding all the possible output of a C/C++ program. Then we will come across more technical issues in programming and try to solve them one by one during this journey. Our project structure is in such a way that deployment process will become much easier.We'll start writing simple makefiles and keep on improving as we really need it! We are doing lots of exercises and facing lots of issues and also fixing all on the fly!We are going to write a makefile for all possible outputs. In this course you will always learn WHY??? and HOW???I will show you the real requirement of a particular concept and then we will learn and apply that.Highlights:1. Write makefile by knowing minimal things.2. One Makefile to call all makefiles3. Makefile with Cross Compilation feature4. Makefile considering DEBUG & RELEASE version of binary.5. Passing MACRO from makefile to other makefile6. Detect environment variables of terminal and one make pass the same to other make.7. We will discuss high level design(HLD) of the projects and from that you will feel how easy it is to write a makefile.8. You will be more comfortable with command line compilation9. Understand shared object linking issues and how to fix it temporarily as well as permanently.10. Project will be done in MAC and copied to Linux. We will directly do a single make which will call all the modules makefile and build the executables, shared object, static objects seamlessly. IMPORTANT thing is WITHOUT ANY SINGLE LINE OF CODE CHANGE FOR LINUX!