CMake通過外部傳參執行不同邏輯的2種方案

2021-10-19 13:59:13 字數 531 閱讀 5088

有時候一些場景需要在執行cmake指令時傳入一些引數的值,使得cmakelists.txt檔案中的程式執行不同的邏輯,下面給出2種方案。

1、set指令給引數預設值

預設情況下會執行else,列印「this is x86 platform」,但可以更改,比如執行cmake指令時如下:

cmake . -dbuild_platform=arm

那麼列印出來的是「this is arm platform」。

2、option指令開關

預設情況下會執行else,列印「do not use aec」,但若執行cmake指令時如下:

cmake . -duse_aec=on

則會列印出「use aec to restrict audio echo」。

ref 和out傳參的不同

今天又遇到這個問題了,問了問同事,他說最近面試的時候,也問道他了,於是給我講了講,現在大概是記住了,記錄下來,以備自用。首先是看下面的code例子 string b bb public void a ref b string d public void c out d 方法a是引用參 數b但是 b必...

hive傳參及執行命令

三種傳參 1 hiveconf hive hiveconf varage 19 database test e select from person where age 1.1 可以傳參必須用加字首的方式取值 1.2 可覆蓋hive site.xml hive default.xml 中的引數值,設...

通過URL傳參(引數也是URL)

encodeuricomponent 函式可把字串作為 uri 元件進行編碼。if pagetype val treepage 想通過url傳遞引數childlinkurl,後台接收這個引數。此引數是另一url 起初在傳參的時候 是按照 url 正常的拼接引數 來拼接的 在w3c上查到就解決了此問題...