strongswan -- STRONGSWAN_CONF是如何傳到代碼裏的

  配置文件strongswan.conf是經過STRONGSWAN_CONF讀取並加載的。html

  

  經過source insight加載了strongswan整個工程文件(只包括.c和.h文件),發現沒有地方給STRONGSWAN_CONF賦值。3d

  

  而在charon進程加載時,STRONGSWAN_CONF是有值的,這個值是從哪裏來的呢?htm

  搜索了strongswan全部代碼,發現與STRONGSWAN_CONF有關的有以下幾處:blog

  

  圖中顯示Makefile.am和Makefile.in中有STRONGSWAN_CONF相關的語句。進程

  Makefile.in中的語句以下圖:字符串

  

  

        gcc的參數「-D」含義以下:get

                   -Dmacrogcc

                       以字符串「1」定義 MACRO 宏配置

                     至關於C語言中的#define macro file

 

                   -Dmacro=defn

                       以字符串「defn」定義 MACRO 宏 

                     至關於C語言中的#define macro defn

  其餘參數介紹可參見:

                   https://www.cnblogs.com/zhangsir6/articles/2956798.html

    

  實際make的時候執行的是Makefile。打開Makefile能夠看到,其中引用了Makefile.in和Makefile.am。

   

  如此一來便追蹤到STRONGSWAN_CONF的源頭。

注:

         打開strongswan的Makefile發現以下兩句註釋,能夠看出Makefile.am、Makefile.in和Makefile相生相依的關係。

  

相關文章
相關標籤/搜索