我的程序是用C编写的。我想使用库winnt.h
,但我不再使用Windows了。
答案 0 :(得分:8)
似乎是一个奇怪的问题;你应该从winnt.h中弄清楚你真正需要哪些功能,以便你可以学习Linux等价物。 winnt.h并不是一个通用的“库”,它只是内置Windows特定功能的接口。
作为一个重要的警告,您可以通过尝试在Wine的帮助下运行您的应用程序来获得您想要的某种程度。请参阅http://www.winehq.org/如果您只是尝试运行现有应用,那么这可能是一个合理的解决方案。但是,如果您正在尝试制作应用程序的Linux版本,那对您无济于事。
答案 1 :(得分:5)
不,你可以,但它不会有任何好处 - the.h文件只是声明在libs中定义的仅在windows上的函数
答案 2 :(得分:1)
没有。你不能。
winnt.h
包含许多依赖于Windows环境的宏和许多仅存在于Windows特定库中的函数声明。因此,在Linux上使用winnt.h
并不是真的有用(或可能)。
那说,你可以使用Winelib,其中包括那些特定于Windows的标题所公开的大部分功能,你可以通过以下方式获取这些功能将您的程序与Winelib相关联。通常,这可能不是一个好主意,因为Winelib相对不稳定(与本机Windows版本相比,给定API函数的功能可能不存在,不完整,错误或不兼容)。寻找替代所需内容的Linux替代方案是一个更好的主意。
答案 3 :(得分:0)
您想要使用winnt.h
的哪些部分?当然,如果你需要一些漂亮的宏或类型定义,你可以自由地将它复制到你自己的头文件(当然,有依赖)。但是如果在linux环境中将所有winnt.h
文件包含到程序中,您将收到大量错误消息。其中一个原因是由 Martin Beckett 在他的回复中宣读。