zoukankan      html  css  js  c++  java
  • strongswan -- STRONGSWAN_CONF是如何传到代码里的

      配置文件strongswan.conf是通过STRONGSWAN_CONF读取并加载的。

      

      通过source insight加载了strongswan整个工程文件(只包括.c和.h文件),发现没有地方给STRONGSWAN_CONF赋值。

      

      而在charon进程加载时,STRONGSWAN_CONF是有值的,这个值是从哪里来的呢?

      搜索了strongswan所有代码,发现与STRONGSWAN_CONF有关的有如下几处:

      

      图中显示Makefile.am和Makefile.in中有STRONGSWAN_CONF相关的语句。

      Makefile.in中的语句如下图:

      

      

            gcc的参数“-D”含义如下:

                       -Dmacro

                           以字符串“1”定义 MACRO 宏

                         相当于C语言中的#define macro 

                       -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相生相依的关系。

      

             

  • 相关阅读:
    通过strace 监控 fdatasync
    RAID 2.0
    AHCI vs NVMe
    NVMe 图解
    详解linux运维工程师入门级必备技能
    条带深度 队列深度 NCQ IOPS
    NVMe 与 AHCI
    IO负载高的来源定位 IO系列
    磁盘性能指标--IOPS 理论
    java程序员从笨鸟到菜鸟系列
  • 原文地址:https://www.cnblogs.com/collapsar/p/10577975.html
Copyright © 2011-2022 走看看