我想尝试写我自己最小的NT子系统在Windows 7上的纯粹的教育目的 - 有点像一个最基本的等效posix.exe在微软的子系统基于UNIX的应用.
但我似乎无法找到有关此主题的任何公开文档.子系统需要实现什么API?它是如何在Windows注册的?如何构建子系统映像(需要在PE头中设置哪些标志等)?
我最希望找到一本书或网站,其中包含整个主题的概述,甚至是其他人编写的"hello world"NT子系统的源代码.但是,如果你能指出我正确的方向,那么任何事情都会受到赞赏......
如何使我的(Python 2.7)代码知道它是否在doctest中运行?
场景如下:我有一个函数,该函数将print()
一些输出作为参数传递给文件描述符,如下所示:
from __future__ import print_function
def printing_func(inarg, file=sys.stdout):
# (do some stuff...)
print(result, file=file)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试printing_func()
在doctest中使用时,测试失败;由于我file
在调用时指定了关键字参数print()
,因此输出实际上到达sys.stdout
了doctest模块设置的默认输出重定向,而不是doctest设置的任何默认输出重定向,并且doctest从不看到输出。
因此,如何printing_func()
知道它是否在doctest中运行,以便它知道file
在调用时不传递关键字参数print()
?