zoukankan      html  css  js  c++  java
  • make eval builtin function

    1 eval的返回值是空字符串,因此它可以用于Makefile的任何位置而不引起错误

    2 eval函数的作用效果

    生成Makefile的动态部分,即eval用于增加Makefile的构成部分。

    也就是说,经过eval扩展之后的text部分,完全可以看成是Makefile的一部分,在make的时候,由make自己去解析执行,执行的过程完全等同于Makefile的其它静态部分。

    3 eval内部嵌套一个函数的话,eval做了什么

    首先是被嵌套的内部函数的扩展,在其扩展的结果上eval工作。

    3.1 eval的expand

    即普通的变量的扩展,对于双$$,去掉一个$。

    3.2 eval将expand后得到的text当成是makefile的一部分

    比如rules、比如变量赋值等等。

    这样的好处是很显然的,Makefile就不是静态不变的了,而是动态的,可以生成的。

    4 eval、call、define是完美组合,用于定义Makefile的动态部分

  • 相关阅读:
    hdu 5171(矩阵快速幂,递推)
    hdu 1316(大整数)
    hdu 5170(数学)
    hdu 5167(dfs)
    hdu 5166(水题)
    hdu 5720(贪心+区间合并)
    BestCoder 2nd Anniversary的前两题
    hdu 3065(AC自动机)
    2.3绘制构造线与射线
    查找ARP攻击源
  • 原文地址:https://www.cnblogs.com/hustdc/p/7476118.html
Copyright © 2011-2022 走看看