學習筆記:Makefile的ifeq邏輯或,邏輯與的變通實現
(1)ifeq的用法
ifeq ($(變數名), 變數值 )
........
else ifeq ($(..), ..)
.........
else
.........
endif
(2)最近在學習makefile的過程中遇到需要用ifeq進行邏輯與判斷,但是ifeq並沒有像其他程式語言那樣有 邏輯或(||) 邏輯與(&&) 的符號可用。這時候需要變通一下。
1)邏輯與變通實現:
舉例說明:比如需要判斷兩個變數 VALUE1 和 VALUE2 的值都存在才執行某個動作,這需要邏輯與的判斷
C語言的邏輯: if ( VALUE1 && VALUE2){
do something....
}
沒有&&符號,我們可以這樣變通:將兩個變數連結起來再判斷
ifneq ($(VALUE1)$(VALUE2),)
do something....
endif
如果變數 VALUE1 和 VALUE2 都有具體的值,比如需要進行這樣的判斷: VALUE1 == V1 && VALUE2 == V2, 可以按如下的寫法;
ifeq ($(VALUE1)_$(VALUE2), V1_V2) ### 當然中間的下劃線 "_" 可以用其他字元代替
do something....
endif
2) 邏輯或變通實現,同樣是上面的兩個變數
if( VALUE1 == V1 || VALUE2 == V2 ) {...} 可以用findstring函式做如下變通實現:
#如果VALUE1或者VALUE2為V1或V2,則findstring 不會返回空。
ifneq ($(findstring $(VALUE1)$(VALUE2), V1 V2),)
do something...
endif
相關推薦
學習筆記:Makefile的ifeq邏輯或,邏輯與的變通實現
(1)ifeq的用法 ifeq ($(變數名), 變數值 ) ........ else ifeq ($(..), ..) ......... else
Linux學習筆記:mv移動或文件重命名
out urn 文件 linux學習 命令 you 源文件 name test mv命令是move的縮寫,可以用來移動文件或者將文件改名(move (rename) files),是Linux系統下常用的命令,經常用來備份文件或者目錄。 語法:mv 源文件 目標文件
Tensorflow學習筆記:VGG16模型——Finetuning,貓狗大戰,VGGNet的重新針對訓練
這一篇介紹一下VGG16模型的修改 Step 1: 對模型的修改 首先是對模型的修改(VGG16_model.py檔案),在這裡原先的輸出結果是對1000個不同的類別進行判定,而在此是對2個影象,也就是貓和狗的判斷,因此首先第一步就是修改輸出層的全連線資料。
Tensorflow學習筆記:VGG16訓練——Finetuning,貓狗大戰,VGGNet的重新針對訓練
這篇介紹如何用資料對vgg16進行訓練 Finetuning最重要的一個步驟就是模型的重新訓練與儲存。 首先對於模型的值的輸出,在類中已經做了定義,因此只需要將定義的模型類初始化後輸出賦予一個特定的變數即可。 vgg = model.vgg16(x_imgs)
【JQuery】JQuery學習筆記:JQuery操作HTML,即JQuery DOM操作
1,jQuery DOM操作,設定或獲得內容: 設定,在()內填入內容即可,有回撥函式; text() - 設定或返回所選元素的文字內容 html() - 設定或返回所選元素的內容(包括 HTML 標記) val() - 設定或返回表單欄位的值 2,jQuery D
學習筆記:B樹建立,搜尋和刪除操作
#include <iostream> #include <queue> using namespace std; /****************************** PROGRAMER: Fanchenxin M階多路查詢樹: 1.定
Docker學習筆記:容器資料管理,連結容器,構建私有庫
$ sudo docker run --rm --name web2 --link db:db training/webapp env . . . DB_NAME=/web2/db DB_PORT=tcp://172.17.0.5:5432 DB
Mysql學習筆記:MySQL安裝指南,筆記比較亂
MYSQL學習筆記-- 安裝建立資料庫 一、Mysql安裝步驟 版本:5.6.37 執行安裝檔案 選擇server 64位版本 下一步 埠號預設3306 下一步,填寫root 密碼 建立guest使用者,賬戶、密碼,提交 安裝完
WPF學習筆記:MVVM模式下,ViewModel如何關閉View?
矯枉過正,從一個極端走向另一個極端。MVVM模式,View只負責呈現,雖然也有後臺程式碼,但基本上就是擺設,VM接管了一切的邏輯處理。那麼,現在,大能的VM已經完成了所有的事情,這個視窗V如何才能自動關閉呢?據我目前少得可憐的WPF知識可知,有兩種方案:一、利用View裡的I
hibernate學習筆記5---實體類或屬性名與資料庫關鍵字衝突、hql命名引數、hql實現通用分頁
一、實體類或屬性名與資料庫關鍵字衝突問題 1、實體類名與資料庫中的關鍵字衝突 比如:實體表User與oracle中的系統表衝突 解決方式1:在xml中新增table屬性,指定表名,使其不與name預設相等 <?xml version="1.0" encoding="
學習筆記:window7環境下的nodejs與npm安裝。
二、開啟安裝包,安裝路徑推薦 C:\Program Files\nodejs,安裝過程一直下一步就行了(windows的安裝msi檔案在過程中會直接新增path的系統變數,變數值是你的安裝路徑,例如“C:\Program Files\nodejs”)。 三、測試安
孫鑫VC學習筆記:第八講 逃跑按鈕的巧妙實現和MFC中指標的獲取
MFC應用程式中指標的使用 1) 在View中獲得Doc指標 CYouSDIDoc *pDoc=GetDocument();一個視只能有一個文件。 2) 在App中獲得MainFrame指標 CWinApp 中的 m_pMainWnd變數就是MainFrame的指標也可以: CMai
學習筆記:邏輯運算符也有優先級區別
php 運算符 優先級 and or不嘗試還真不知道,居然是因為優先級的差別導致,如果是真實編程中遇到,排錯就很困難了,幸虧這裏看到了:$a = true; //聲明一個布爾型變量$a,賦值為真 $b = true; //聲明一個布爾型變量$b,賦值為真 $c
斯坦福大學深度學習筆記:邏輯迴歸
z 邏輯迴歸(LOGISTIC REGRESSION) Logistic regression (邏輯迴歸)是當前業界比較常用的機器學習方法,用於估計某種事物的可能性。之前在經典之作《數學之美》中也看到了它用於廣告預測,也就是根據某廣告被使用者點選的可
《計算機系統要素》學習筆記:第一章布林邏輯
1.工具準備 本書需要的工具和資源下載址:http://www.nand2tetris.org/software.php 工具分為tools和project兩個資料夾,開啟tools資料夾,開啟ha
學習筆記:python3,一些基本語句(2017)
val from 列表 除法 方法 是否 主程 return tuple 數學運算 1、整除、取模 a = 36 b = 10 c = d = 0 c = a//b #取整除 - 返回商的整數部分 d = a % b #取模 - 返回
MySQL學習筆記:調用存儲過程或函數報1418錯誤
creators HR erro reads term eterm 方法 過程 ini 問題 MySQL開啟bin-log後,調用存儲過程或者函數以及觸發器時,會出現錯誤號為1418的錯誤: ERROR 1418 (HY000): This function has
php學習筆記:第八節--表單和使用者輸入,$_GET,$_POST
PHP 的 $_GET 和 $_POST 用於檢索表單中的值,比如使用者輸入。 PHP 表單處理 表單例項: <html> <body> <form action="welcome.php" method="post"> Name: <inpu
python學習筆記:print 函式vs. return函式,global變數 vs. local變數
print函式與return函式差別: 一、結果: (1)return expression ———— 計算expression (2)print(statements)———— 列印statements 二、輸出: (1)在互動
python學習筆記: range()函式、算數運算子“//”,迴圈while與for
range() 函式——可建立一個整數列表,一般用在 for 迴圈中,函式語法:range(start, stop[, step]) start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5); stop: 計數到 stop 結束,但