如何解决Python SCons 行动?
我已经在文档中搜索了很长时间,但仍然无法弄清楚这一点。
在 SCons 文档中,有关于添加 PreAction 或 PostAction 的讨论。在示例中,他们调用了一个示例方法:
foo = Program('foo.c')
AddPreAction(foo,'pre_action')
这会在编译和链接 'foo.c' 之前调用 'pre_action'。但是,没有解释“pre_action”必须采用什么格式。
我发现有几个预先构建的操作,例如“复制”。但是,我找不到“复制”的来源来对其进行逆向工程并自己编写。
谁能给我指点一下如何创建自己的操作的指南?我要么需要一个接口来调用我自己的方法,例如上面的“pre_action”,要么需要一个编写 Action 类的指南。
真的,即使只是一些实际上足够完整的示例代码也会有帮助...
解决方法
手册页部分 Action Objects 列出了可以传递给 Action
工厂函数以创建操作的事物类型;这也是您传递给 AddPostAction
和 AddPreAction
作为第二个参数的内容 - 也就是说,之前对 Action
的调用已经执行的操作,或者可以转换为一个的操作像一个命令字符串,或者一个这样的列表,或者一个具有适当签名的函数。 Pre/Post 将简单地使用该参数调用 Action
函数。因此,在该部分中,有一个调用 Action
的示例,您可以将该参数插入 AddPreAction
,或者您可以保存调用 Action
的结果并将其作为AddPreAction
的参数。
这里的灵活性使得简明地记录有点棘手。
(顺便说一句,Copy
的源代码是一个名为 copy_func
的函数,但您可能不想使用该形式,因为它是您不需要的几个额外抽象级别)>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。