能否在windows下编译linux内核
Linux源代码可以在windows操作系统下编译。
对于一般的c语言程序,代码的这种可移植性会受到一定的限制。因为我们在编写程序时,会或多或少使用一些某些系统特有的函数库。这是因为ANSI C是C语言的标准,但ANSI C几乎很难完成复杂程序的开发。任何C语言的编译器都在ANSI C的基础上扩充, 如TC,VC等都对ANSI C进行了扩充,加入了自己的规则和库之类的。所以他们之间一般不具有通用性。此外在各个操作系统上的应用程序通常要调用相应的操作系统提供的借口,这也为代码的跨平台建立了一层障碍。
内核程序不同于普通的代码,由于它处在一个比较接近底层的地位,因此不能随意使用其它第三方函数库。此外系统内核与一般应用程序不同,它的执行不依赖于任何操作系统(它本身就是一个操作系统),所以,只要我们的编译器可以生成x86的二进制代码,我们就可以在不同平台进行编译。
Linux内核仅仅用汇编语言和语言编写的,没有使用任何第三方软件或者库函数,即由ANSI C编写,没有使用Linux函数库。因此可以在windows下编译。
对于一般的c语言程序,代码的这种可移植性会受到一定的限制。因为我们在编写程序时,会或多或少使用一些某些系统特有的函数库。这是因为ANSI C是C语言的标准,但ANSI C几乎很难完成复杂程序的开发。任何C语言的编译器都在ANSI C的基础上扩充, 如TC,VC等都对ANSI C进行了扩充,加入了自己的规则和库之类的。所以他们之间一般不具有通用性。此外在各个操作系统上的应用程序通常要调用相应的操作系统提供的借口,这也为代码的跨平台建立了一层障碍。
内核程序不同于普通的代码,由于它处在一个比较接近底层的地位,因此不能随意使用其它第三方函数库。此外系统内核与一般应用程序不同,它的执行不依赖于任何操作系统(它本身就是一个操作系统),所以,只要我们的编译器可以生成x86的二进制代码,我们就可以在不同平台进行编译。
Linux内核仅仅用汇编语言和语言编写的,没有使用任何第三方软件或者库函数,即由ANSI C编写,没有使用Linux函数库。因此可以在windows下编译。
温馨提示:答案为网友推荐,仅供参考