Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为我的大学做一个项目。其中一点是我们不允许使用非静态库。当我处理中断时,我想使用 dos.h 来避免使用汇编(setvect() 而不是一堆流水线代码)使事情复杂化。
考虑使用库的部分的粗略翻译是:“......它只允许使用独立于平台(硬件和操作系统)的标准(静态)C/C++库。不允许使用特定库系统主机或动态库 (DLL)"
有人可以告诉我 dos.h 是什么类型的库吗?
头文件*.h不是库,它只是一组定义和声明。
*.h
如果任务确实要求您既使用硬件中断又独立于操作系统,那么它是不一致的,因为不同的操作系统定义了不同的硬件中断处理方式。
我怀疑你误解了作业,应该问你的老师澄清。
添加以回应评论
是的,编写一个微型操作系统确实主要解释了这种不一致。如上所述,kernel32.dll 可能提供了一些setvect()您想要使用的服务(例如 )。如果没有操作系统,那么就没有可依赖的操作系统服务,您将不得不自己编写(我想这是作业目的的一部分)。
setvect()