作者:benbowujixian | 来源:互联网 | 2022-12-28 14:46
如何在Windows下编译Linux内核内核配置完成,输入make命令即可开始编译内核。如果没有修改Makefile文件并指定ARCH和CROSS_COMPILE参数,则须在命令行
如何在Windows下编译Linux内核
内核配置完成,输入make命令即可开始编译内核。如果没有修改Makefile文件并指定ARCH和CROSS_COMPILE参数,则须在命令行中指定:$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-目前大多数主机都是多核处理器,为了加快编译进度,可以开启多线程编译,在make的时候加上“-jN”即可,N的值为处理器核心数目的2倍。
例如对于I7 4核处理器,可将N设置为8:$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j8采用多线程编译的优点是能加快编译进度,。
具体可以参照ZLG《嵌入式Linux开发教程(下册)》第1章。
WINDOWS下编译LINUX内核?
只能用虚拟机,Linux内核使用大量的GCC拓展,而且整个工程是用makefile来控制 在Windows下虽然有对应的GCC工具和make工具 但配置起来都比较麻烦!既然选择学习linux内核 那么linux下C语言编程和操作系统应该都有一定的基础 而且现在桌面版的linux系统已经很人性化 像fedora Ubuntu都很好用了 不需要繁杂的配置!
能否在windows下编译linux内核
Linux源代码可以在windows操作系统下编译。对于一般的c语言程序,代码的这种可移植性会受到一定的限制。
因为我们在编写程序时,会或多或少使用一些某些系统特有的函数库。
这是因为ANSI C是C语言的标准,但ANSI C几乎很难完成复杂程序的开发。任何C语言的编译器都在ANSI C的基础上扩充, 如TC,VC等都对ANSI C进行了扩充,加入了自己的规则和库之类的。所以他们之间一般不具有通用性。此外在各个操作系统上的应用程序通常要调用相应的操作系统提供的借口,这也为代码的跨平台建立了一层障碍。
内核程序不同于普通的代码,由于它处在一个比较接近底层的地位,因此不能随意使用其它第三方函数库。此外系统内核与一般应用程序不同,它的执行不依赖于任何操作系统(它本身就是一个操作系统),所以,只要我们的编译器可以生成x86的二进制代码,我们就可以在不同平台进行编译。Linux内核仅仅用汇编语言和语言编写的,没有使用任何第三方软件或者库函数,即由ANSI C编写,没有使用Linux函数库。
因此可以在windows下编译。
怎么在WIN7下编译Linux内核
问题有点多,我一个一个回答吧1.要编译linux需要到linux系统下的gcc编译工具去编译,如果是新手,编译内核用来做什么呢?编译内核需要先配置内核再编译,还是挺复杂的。2.安装双系统: 以ubuntu 10.04的方法 1.下载iso镜像文件; 2.ultraiso将文件导入到U盘(这是安装在物理机上); 3.电脑BISO开机设置为U盘启动; 4.插入U盘,重启电脑进入安装界面; 5.进入安装界面后,基本只要选择默认安装,下一步下一步就OK了。
3.linux ubuntu就有中文版的。
linux 在windows共享文件夹中编译内核时 init/main.o: Permission denied init/main.o: failed
不要在windows上存放linux源文件,然后挂在linux上编译。第一个原因:windows上,aux之类的文件名不能保存。
linux源码中有这类文件名,这个时候,windows下的源文件就不全。
然后编译的时候当然会少文件。第二个原因:内核编译的时候,会建立符号连接,这个,在windows系统中的快捷方式和linux下的连接实现不一样。那么在linux系统中,在windows的fat,ntfs格式的分区中创建符号连接会失败。这个不是写权限的问题,是文件系统不支持的问题。
java jni 怎么在windows环境中编译成linux下的so文件
可以直接在android工程下使用,因为android就是linux内核。
android的NDK开发需要在linux下进行: 因为需要把C/C++编写的代码生成能在arm上运行的.so文件,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。
2.安装android-ndk开发包,这个开发包可以在google android : 通过这个开发包的工具才能将android jni 的C/C++的代码编译成库
3.android应用程序开发环境: 包括eclipse、java、 android sdk、 adt等。
NDK编译步骤:
选择 ndk 自带的例子 hello-jni ,位于E:\android-ndk-r5\samples\hello-jni( 根据具体的安装位置而定 ) 。
2.运行 cygwin ,输入命令 cd /cygdrive/e/android-ndk-r5/samples/hello-jni ,进入到 E:\android-ndk-r5\samples\hello-jni 目录。
3.输入 $NDK/ndk-build ,执行成功后,它会自动生成一个 libs 目录,把编译生成的 .so 文件放在里面。 ($NDK是调用我们之前配置好的环境变量, ndk-build 是调用 ndk 的编译程序 )
4.此时去 hello-jni 的 libs 目录下看有没有生成的 .so 文件,如果有,ndk 就运行正常啦。