zoukankan      html  css  js  c++  java
  • SYNCHRONIZE_DRAIN的用处

    SYNCHRONIZE_DRAIN是一个sources文件中使用的宏,它的定义方式是:SYNCHRONIZE_DRAIN=1

    日前,弄BSP时遇到一个没想到的东东:复制过来的微软的触摸屏源代码竟然编译不过,提示有些lib文件找不到……

    就是因为sources文件中没定义SYNCHRONIZE_DRAIN=1;因为驱动文件夹中包含多个驱动文件,使用的一些库之间有某种依赖关系造成的;

     如果sources文件中定义了SYNCHRONIZE_DRAIN=1,则Build.exe会最后才构建此文件。也就是说先编译dirs文件中的其他文件,最后再编译sources文件中定义了此宏的文件。

    好处:解决了依赖库问题,在这种情况下,你必须确保你的构建过程是有顺序的,以便于Build.exe不会尝试去构建一个它的依赖文件都还没有构建的文件,不然就会产生一些错误,像我遇到的情况。

     A directory containing a sources file that uses this macro is not built until all other directories are built. For example, this macro definition allows you to ensure that all preceding library (.lib) files are built before building the current directory, which depends on the previous libraries.

    If this macro definition is set to 1 in a directory's sources file, Build.exe builds that directory last.

    还需要注意一点:If a directory uses this macro, list the directory last in its parent dirs file.

    就是说那个目录文件中包含此宏,还应该把此目录文件放在dirs文件的dirs表示行的最末行;表明dirs中指示的文件也是有顺序的

  • 相关阅读:
    MyBatis学习之二----应用
    网逛收藏
    Dubbo+Zookeeper 入门Demo
    React + umi +antd+antv/g6 实现力图
    npm、yarn 简单使用记录
    React yarn安装umi后 umi -v查询版本失败
    Eclipse 快速打开文件所在的本地目录
    Windows激活工具
    Win7 node多版本管理gnvm采坑记录
    自定义环形进度条RoundProgressBar
  • 原文地址:https://www.cnblogs.com/EmbeddedBoy/p/1724513.html
Copyright © 2011-2022 走看看