你将收获

1)独立开展一个中小型项目的能力

2)对软件构造系统、程序的编译、链接有更深入理解

3)熟练掌握对静态库、动态库的生成和使用

适用人群

中高级研发工程师

课程介绍

Makefile工程实战视频培训课程,该教程介绍Linux环境下开发软件编译Makefile的基础知识、项目构建、一步一步从零开始写一个模拟MP3项目的Makefile。
讨论留言

正在加载中...

同学笔记

  • hhysdo 2020-04-07 16:38:14

    来源:1.1 Makefile基本概念 查看详情

    Makefile的用途:

    描述了整个工程的编译、链接规则;

    软件项目的自动化编译

     

    过程:.c文件编译成.o(目标文件),目标文件链接成可执行文件

     

    配合c语言项目一同使用

     

     

     

     

  • weixin_40746176 2020-02-09 16:43:02

    来源:2.6 库的生成和使用:静态库和动态库 查看详情

    linux下生成静态/动态链接库

    例:

    生成hello.o可连接文件

    gcc -o hello.o -c hello.c

    将hello.o文件转为库文件,lib为文件头,.a为文件尾

    ar rcs libhello.a hello.o

    编译其他文件时如下方式引用,L后面跟库的路径,l后面跟库的名称

    gcc -o test test.c -L路径 -l名称

    生成动态链接库可以合并操作为

    gcc -o libhello.so -fPIC -shared hello.c

     

    动态库:

    生成位置无关的文件

    gcc -o hello.o -fPIC -c hello.c

    生成动态库

    gcc -o libhello.so -shared hello.o

    被引用时与静态库相同

    gcc -o test test.c -L路径 -l库名称

    使用自己创建的动态库时要将它拷贝到默认库路径。

  • weixin_40746176 2020-02-09 15:34:18

    来源:2.4 条件执行 查看详情

    条件执行

    使用ifeq else  endif关键字进行操作

    例如

    DEBUG = true

    ifeq ($(DEBUG),true)

    VERSION = debug

    else

    VERSION = release

    endif

没有更多了