您好,我是 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/