欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > ChatGpt >内容正文

ChatGpt

SYNCHRONIZE_DRAIN的用处

发布时间:2025/3/15 ChatGpt 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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中指示的文件也是有顺序的

转载于:https://www.cnblogs.com/EmbeddedBoy/archive/2010/04/30/1724513.html

总结

以上是生活随笔为你收集整理的SYNCHRONIZE_DRAIN的用处的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。