我正在为我的大学开展一个项目。其中一点是我们不允许使用非静态库。当我处理中断时,我想使用dos.h来避免使用程序集(setvect()而不是一堆流水线代码)来复杂化。
考虑使用库的部分的粗略翻译是: “...允许只使用独立于平台(硬件和操作系统)的标准(静态)C / C ++库。不允许使用系统主机或动态库(DLL)的特定库”
有人可以告诉我dos.h是哪种类型的库吗?
答案 0 :(得分:6)
头文件*.h
不是库,它只是一组定义和声明。
如果分配真正要求您两者使用硬件中断和与操作系统无关,那么它就不一致,因为不同的操作系统定义了如何处理硬件中断的不同。
我怀疑你误解了这项任务,应该请你的导师澄清。
在回复评论时添加了
是的,编写一个小操作系统确实可以解释这种不一致性。如上所述,kernel32.dll可能提供您想要使用的一些服务(例如setvect()
)。如果没有操作系统,则没有可依赖的操作系统服务,您必须自己编写(我认为这是分配目的的一部分)。