草庐IT

轻松玩转Makefile | 基础用法

前言本文通过几个简单的示例,可以快速了解Makefile的基本使用方法,适用于编译我们平时练习所编写的小量代码。1.make命令Makefile文件内容:all为目标,这里没有依赖的文件,这条命令是打印(echo)出“HelloMakefile”这行文字all: echo"HelloMakefile"运行make后,终端打印的内容$makeecho"HelloMakefile"HelloMakefile可以看到,Makefile的命令也打印在了终端,要想不输出命令的内容,可以在命令前面加上@make可以指定要生成的目标,如果不指定,则默认第一个目标,我们将Makefile文件内容修改一下all

轻松玩转makefile | 函数的使用

前言在上一篇文章中,尽管使用了变量和模式,但还是有不够好的地方,在Makefile中要指明每一个源文件,我们接下来利用函数对其进行优化,并介绍其他常用的一些函数。依旧是以fun.c,main.c和Makefile三个文件为例,文件内容就不再贴出来了,前两篇文章中都有。1.wildcard函数wildcard是通配符函数,通过它可以得到当前工作目录中满足_pattern模式的文件或目录名列表。格式为:$(wildcard_pattern).PHONY:all SRC=$(wildcard*.c)all: @echo$(SRC)运行makefun.cmain.c2.patsubst函数patsub

轻松玩转makefile | 函数的使用

前言在上一篇文章中,尽管使用了变量和模式,但还是有不够好的地方,在Makefile中要指明每一个源文件,我们接下来利用函数对其进行优化,并介绍其他常用的一些函数。依旧是以fun.c,main.c和Makefile三个文件为例,文件内容就不再贴出来了,前两篇文章中都有。1.wildcard函数wildcard是通配符函数,通过它可以得到当前工作目录中满足_pattern模式的文件或目录名列表。格式为:$(wildcard_pattern).PHONY:all SRC=$(wildcard*.c)all: @echo$(SRC)运行makefun.cmain.c2.patsubst函数patsub

轻松玩转makefile | 变量与模式

前言本文通过简单的几个示例,以及对同一个Makefile进行几个版本的迭代,帮助快速的理解变量和模式规则的使用。1、回顾在上一篇文章中,我们使用Makefile编译fun.c和main.c这两个文件,最终生成名为app的可执行文件。fun.c的内容#includevoidfun(){ printf("Thisisfun()!\n");}main.c的内容externvoidfun();intmain(){ fun(); return0;}第一版Makefile.PHONY:cleanall:main.ofun.o gcc-oappmain.ofun.omain.o:main.c gcc-oma

轻松玩转makefile | 变量与模式

前言本文通过简单的几个示例,以及对同一个Makefile进行几个版本的迭代,帮助快速的理解变量和模式规则的使用。1、回顾在上一篇文章中,我们使用Makefile编译fun.c和main.c这两个文件,最终生成名为app的可执行文件。fun.c的内容#includevoidfun(){ printf("Thisisfun()!\n");}main.c的内容externvoidfun();intmain(){ fun(); return0;}第一版Makefile.PHONY:cleanall:main.ofun.o gcc-oappmain.ofun.omain.o:main.c gcc-oma

轻松玩转Makefile | 企业项目级Makefile实例

前言本文展示了一个比较完整的企业项目级别的Makefile文件,包括了:文件调用,源文件、头文件、库文件指定,软件版本号、宏定义,编译时间,自动目录等内容。1、目录架构本文中所采用的目录架构,在企业项目开发中十分常见:源文件都放在src目录中,头文件都放在inc目录中,并且这两个目录都可以有对应的子目录。库文件放在lib目录中,makefile相关文件放在build目录中,编程生成的程序放在自动生成的output目录中。目录结构展示如下:.├──build│  ├──Makefile│  └──srcpathconfig.mk├──code│  ├──inc│  │  ├──com│  │  

轻松玩转Makefile | 企业项目级Makefile实例

前言本文展示了一个比较完整的企业项目级别的Makefile文件,包括了:文件调用,源文件、头文件、库文件指定,软件版本号、宏定义,编译时间,自动目录等内容。1、目录架构本文中所采用的目录架构,在企业项目开发中十分常见:源文件都放在src目录中,头文件都放在inc目录中,并且这两个目录都可以有对应的子目录。库文件放在lib目录中,makefile相关文件放在build目录中,编程生成的程序放在自动生成的output目录中。目录结构展示如下:.├──build│  ├──Makefile│  └──srcpathconfig.mk├──code│  ├──inc│  │  ├──com│  │  

我是这么玩领域驱动设计的DDD

领域驱动设计(DomainDrivenDesign,简称:DDD)设计思想和方法论早在2005年时候就被提出来,但是一直没有被重视和推荐使用,直到2015年之后微服务流行之后,再次被人重视和推荐使用。下面我来介绍一下DDD设计思想和方法论,同时结合我们在实际项目中应用总结和思考。目录1、为什么要用DDD2、DDD架构设计3、领域建模方法4、代码实践5、问题总结 1、为什么要用DDD面向过程   很多时候,我们都是操着面向对象的语言干着面向过程的勾当。大部分的系统都是从单一业务开始的。但是随着支持的业务越来越多,代码里面开始出现大量的if-else逻辑,这个时候代码开始有坏味道,没闻到的同学就这

我是这么玩领域驱动设计的DDD

领域驱动设计(DomainDrivenDesign,简称:DDD)设计思想和方法论早在2005年时候就被提出来,但是一直没有被重视和推荐使用,直到2015年之后微服务流行之后,再次被人重视和推荐使用。下面我来介绍一下DDD设计思想和方法论,同时结合我们在实际项目中应用总结和思考。目录1、为什么要用DDD2、DDD架构设计3、领域建模方法4、代码实践5、问题总结 1、为什么要用DDD面向过程   很多时候,我们都是操着面向对象的语言干着面向过程的勾当。大部分的系统都是从单一业务开始的。但是随着支持的业务越来越多,代码里面开始出现大量的if-else逻辑,这个时候代码开始有坏味道,没闻到的同学就这

五大策略教你如何玩转元宇宙营销

​如果你想在这样一个全新的数字虚拟世界中获得成功,你的企业必须部署有效的元宇宙营销策略,以满足新一代(如z世代)的独特需求和偏好。其中重视用户体验、可扩展性和数字产品奖励是当务之急。正如我们看到元宇宙对数字营销场景的巨大影响一样,信息图表、照片和视频等被动类型的内容营销可能会变得不那么重要。这是因为以Z世代为主的新受众将有对沉浸式和参与式的持续需求。元宇宙中的营销企业正在将独特的营销技术引入元宇宙。例如,企业能够建立在线商店并销售数字产品。他们还可以使用虚拟现实技术制造沉浸式体验。以下是一些元宇宙营销策略:​创造吸引用户的沉浸式体验​消费者经常将元宇宙中的品牌与创新联系起来。为了支持元宇宙,企