2016-09-03 12:03:23 cd_shuirong 阅读数 7924

其实是指在编译指定的文件时用多少个线程进行编程的意思~

相关命令示例如下:

make zImage -j8 
make modules -j8

---------------------------

make zImage -j4
make modules -j4


--------------------------------------------------
欢迎成都从事Linux驱动开发的朋友交流,QQ2487872782

2019-03-30 17:51:30 quantum7 阅读数 406
# 不限制
make -j

# 要不要加空格
make -j 16

  有没有效果?吾在编译器ffmpeg/grpc时,使用make -j,结果机器响应都很迟钝了,甚至跟卡死一样(为此断电过几次)。有的编译则效果不大。

2018-01-15 09:49:00 zxyhhjs2017 阅读数 2204
  • make与cmake都是一种编译工具,只有经历过编译后的文件才能运行,
  • 知识储备:多核cpu与单核cpu的区别就是,多核cpu相当于有多个单核cpu,如果只有一个单核cpu的话,在多道程序的操作系统中,执行程序是轮流执行,即一个程序在执行cpu而另一个程序如果需要执行cpu的话,则需要等待。而多核的话,如果两个程序同时都要用到cpu,就可以直接去寻找不同单核,而不用等待,很大的提高了执行速度。
  • make -j4 与make -j8的意思就是多线程运行,(线程的意思请参考操作系统)即4个进程去竞争多核cpu,或者8个线程去竞争cpu
2017-07-10 11:00:55 jirryzhang 阅读数 2340
  • make -j

在Linux编译程序的时候,IO往往不是瓶颈,那CPU就应该是一个影响编译速度的重要因素了。

用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。

还是用Kernel来测试:

用make: 40分16秒

用make -j4:23分16秒

用make -j8:22分59秒

由此看来,在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。

不过这个方案不是完全没有cost的,如果项目的Makefile不规范,没有正确的设置好依赖关系,并行编译的结果就是编译不能正常进行。如果依赖关系设置过于保守,则可能本身编译的可并行度就下降了,也不能取得最佳的效果。

2012-02-07 09:55:04 a363175481 阅读数 4529

在编译linux kernel时出现 “make: arm-none-linux-gnueabi-gcc:命令未找到”,我的主机环境是ubuntu 10.10(maverick),gcc版本为4.4.5

原因是没有设置交叉编译环境,一种简单的方法就是:下载交叉编译工具并解压,下载地址http://download.csdn.net/detail/a363175481/4042324,然后在makefile中将CROSS_COMPILE?=arm-none-linux-gnueabi-改为CROSS_COMPILE?=/home/username/toolchain/4.4.3/bin/arm-none-linux-gnueabi-

linux make使用技巧

阅读数 16

QEMU+ARM+Linux(3)

阅读数 47

没有更多推荐了,返回首页