日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux学习笔记-Makefile中的变量及函数

發布時間:2025/3/15 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习笔记-Makefile中的变量及函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Makefile中的變量

此處的變量不是C/C++,Java等中的變量(認為他是一個字符串就闊以了)

一般變量名用大寫字母來寫,如下所屬:

SUBDIR = src xml
SUBDIR += osapi

(感覺這個和Qt里面的pro加模塊的差不多)

echo命令,這條命令和php中的echo差不多

定義一個SUBDIR變量:
1.用=號定義一個變量,并且賦值(等號兩側可以加一個空格);
2.用+=追加字符串
3.用$(SUBDIR)取得到變量的值(要加小括號)

如下面的Makefile代碼:

#this is an annotationSUBDIR=src xml SUBDIR+=osapitest1:echo $(SUBDIR)

運行截圖如下:

注意:在@符號后,就可以不顯示命令本身,直接輸出

Makefile源碼如下:

#this is an annotationSUBDIR=src xml SUBDIR+=osapitest1:@echo $(SUBDIR)

運行截圖如下:

特殊的變量:
$@指代target
$^指代dependencies依賴項列表
$<指代依賴項列表的第一列

Makefile源碼如下:

#this is an annotationSUBDIR=src xml SUBDIR+=osapitest1:@echo $(SUBDIR)test2:echo $@test3: main.cpp first.cpp second.cppecho $^test4: main.cpp first.cpp second.cppecho $<

程序運行截圖如下:

?

Makefile中的函數
與C/C++里面的函數不一樣,他是內部預定的函數

?

Makefile中有一些預定義的函數
$(函數名 參數列表)
函數名:Makefile內部自帶的函數
參數列表:以逗號分開另,函數名和參數之間以空格分開
例如:
PWD=$(shell pwd)
CXX_SOURCE=$(wildcard ./*.cpp)

?

【注意:Makefile里面好像必須加shell】

如下的Makefile源碼:

#this is an annotationSUBDIR=src xml SUBDIR+=osapiPWD=$(shell pwd) CXX_SOURCE=$(wildcard *.cpp)test1:@echo $(SUBDIR)test2:echo $@test3: main.cpp first.cpp second.cppecho $^test4: main.cpp first.cpp second.cppecho $<test5:@echo $(PWD)test6:@echo $(CXX_SOURCE)

運行截圖如下:

總結

以上是生活随笔為你收集整理的Linux学习笔记-Makefile中的变量及函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。