在软件工程领域，兼容层是一个允许面向旧或异质系统的二进制文件运行在特定主机系统上的接口。这意味着将面向异质系统的系统调用转换为面向主机系统。有些函式库会面向异质系统，这通常是为主机系统提供运行异质二进制文件的能力。而硬件兼容层工具允许。
软件.一些例子：一个兼容层可以避免完全硬件仿真的复杂性和速度损失，某些程序更可能比原来运行更快。例如，某些Linux应用程序运行在FreeBSD的Linux兼容层上时，有时有可能会原运行在红帽Linux上更快；运行在Wine上的性能基准偶尔也可