1. 程式人生 > >學習筆記:Makefile的ifeq邏輯或,邏輯與的變通實現

學習筆記: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環境下的nodejsnpm安裝。

二、開啟安裝包,安裝路徑推薦 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()函式、算數運算子“//”迴圈whilefor

range() 函式——可建立一個整數列表,一般用在 for 迴圈中,函式語法:range(start, stop[, step]) start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5); stop: 計數到 stop 結束,但