c++ - gcc 会自动使用-j4 吗?我可以做些什么来优化我的编译吗?

标签 c++ gcc compilation compiler-optimization

您好,我是 Linux 平台的初学者,因此我不熟悉终端命令。

我正在用 C++ 编写应用程序,我预计它会消耗大量处理能力。所以我想确保我使用了我设备上的所有可用内核(它有 4 个内核)。

我正在使用以下内容创建可执行文件:

gcc -o blink -l rt blink.c -l bcm2835

其中 bcm2835 是我用于 I/O 的库。所以我的问题是,这个命令是在使用所有可用的内核,还是我可以做些什么来优化它?如果能让这段代码运行得更快,我愿意使用一切可用的东西,扔掉厨房的水槽。

最佳答案

-j 作业选项适用于 make 而不是 gcc

当与 make 一起使用时,它会导致多个“配方”并行执行。在这种情况下,您的 gcc 行就是一个秘诀。

问题修改后

如果您希望您的代码使用多核,您将需要使用线程或进程。查看 pthread。

关于c++ - gcc 会自动使用-j4 吗?我可以做些什么来优化我的编译吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33814281/

相关文章:

linux - PAX 出于某种原因终止了我的进程。 (PAX 用 SIGKILL 终止我的进程)

c - 如何通知编译器 `getcontext` 可以多次返回?

swift - Swift 是否优化结构的链式创建和复制?

c - intel x86 - 为什么 -4(%ebp) 没有任何意义?

xcode - 了解要传递给编译器的标志

c++ - MySQL 从两个表的 UNION 创建表

c++ - 如果用户从数组中输入数字,我如何获取二维数组的索引

c++ - OpenGL 还是 DirectX?

android - Android NDK 代码中的 SIGILL

C 宏观评估