makefile
<( ̄︶ ̄)Okay.
<( ̄︶ ̄)↗[GO!]
展开
-
makefile生成动态库
1.我要做一个动态库,动态库里面是我自己定义的函数比如:我自定义一个dll_init()函数,将其做成共享库 1 #include<stdio.h> 2 void dll_init() 3 { 4 printf("dll_init...\n"); 5 }函数声明 1 #ifndef __DLL_INIT_H 2 #define __DLL_INIT_H 3 void dll_init(); 4 #endiflibdll.so路径下的M原创 2020-11-08 21:10:19 · 1916 阅读 · 0 评论 -
使用Makefile生成静态库
1.创建一个目录2.libmath.c中是我们自定义的函数,libmath.h中是函数的声明libmath.c 1 #include<stdio.h> 2 int libmath_init() 3 { 4 printf("libmath_init...\n"); 5 }~ libmath.h 1 #ifndef __LIBMATH_H 2 #define __LIBMATH_H 3 void libmath_init();原创 2020-11-08 20:31:36 · 2938 阅读 · 1 评论 -
静态库的生成与使用
1、静态库的生成与使用1.我自己写一个 ".c"文件,里面存放我定义的函数 1 #include<stdio.h> 2 void hello() 3 { 4 printf("hello\n"); 5 }2.将该".c"文件生成静态库(1)先生成".o"文件gcc -o hello.o -c hello.c(2)将".o"文件生成".a"文件,即静态库ar rcs libhello.a hello.o3.静态库的使用我现在有一个main.c函原创 2020-11-08 19:48:53 · 150 阅读 · 0 评论 -
Makefile之函数
1.文本处理函数 1 .PHONY:all 2 SRCS = 1.c 2.c 3.c 4.c 5.c 6.c 7.h 8.txt 3 OBJS = $(subst .c,.o,$(strip $(SRCS))) #strip去掉空格,subst字符串替换函数 4 DEPS = $(patsubst %.c,%.d,$(SRCS)) #模式替换函数 使用通配符 %.c -> %.d 5 DEPS2 = $(SRCS:.c=.d) 6 FIND = $(findstri原创 2020-11-08 14:54:40 · 107 阅读 · 0 评论 -
Makefile学习之变量
1.变量基础1.变量定义CC=gcc2.变量赋值(1)追加赋值:+=(2)条件赋值:?=例如:str1 ?= b 如果str1已经被赋值,那么不给str1赋值,没有被赋值则赋值为b3.变量引用$(CC)${CC}2.变量的分类(1)立即展开变量使用 := 操作符赋值在解析阶段直接赋值常量字符串(常量字符串就是后面再去赋值没有用)(2)延迟展开变量使用=操作符赋值在运行阶段,实际使用变量时再进行求值(后面可以再去进行赋值)注意事项一般在目标、目标依赖中使用立即展开变原创 2020-11-08 12:12:47 · 251 阅读 · 0 评论 -
Makefile学习之规则
1.默认目标 1 ifeq ($(DEBUG),"true") 2 CC = gcc -g #生成debug版本,才可以生成调试信息,对程序进行调试, 3 else 4 CC = gcc 5 endif 6 .PHONY: all clean #伪目标,让编译器无条件执行,每次都会执行 7 all:test #这里默认编译test,hello是不编译的,要编译需要指定 make hello 8 test: 9 @echo "Just for t原创 2020-11-08 10:23:56 · 150 阅读 · 0 评论 -
Makefile学习(二)
Makefile 1 ifeq ($(DEBUG),"true") 2 CC = gcc -g #生成debug版本,才可以生成调试信息,对程序进行调试, 3 else 4 CC = gcc 5 endif 6 all:hello 7 hello:lcd.o player.o 8 $(CC) -o hello lcd.o player.o #生成hello需要lcd.o和player.o 9 playe.o:player.c 10 $原创 2020-11-07 14:40:46 · 146 阅读 · 0 评论 -
Makefile学习(1)
1.c代码#include <stdio.h>int main(){ printf("hello world\n"); printf("hello lcl\n"); return 0;}2.Makefile代码hello:hello.c //hello 是指生成的目标文件,hello.c是指源文件 gcc -o hello hello.c //上述过程需要的命令3.make编译4.cleanhello:hello.c gcc原创 2020-11-07 13:34:58 · 237 阅读 · 0 评论