-mtune=native -march=native
时间: 2024-05-17 21:16:04 浏览: 54
这两个选项都是用来优化程序性能的。
-mtune=native选项告诉编译器针对当前CPU架构进行代码优化,以达到更好的性能表现。
-march=native选项则是告诉编译器使用当前CPU架构的指令集,从而生成更加有效的机器代码。
这两个选项的主要作用都是让编译器针对当前计算机的硬件特性进行优化,以达到更好的程序性能。
相关问题
--> g++ -march=native -O3 -Wpedantic -Wall -Wextra -Wsign-conversion -Wconversion -std=c++20 -Isrc -IuSockets/src -flto examples/Http3Server.cpp uSockets/*.o -lz -o Http3Server g++: error: unrecognized command line option ‘-std=c++20’; did you mean ‘-st
d=c++17’?
这个错误是因为你的 g++ 版本不支持 C++20 标准。你可以尝试使用更高版本的 g++ 或者使用 C++17 标准。
如果你使用的是较旧版本的 g++,你可以尝试通过以下命令安装更高版本的 g++:
```
sudo apt-get update
sudo apt-get install g++-9
```
然后,你可以使用以下命令将代码编译成 C++17 标准:
```
g++-9 -march=native -O3 -Wpedantic -Wall -Wextra -Wsign-conversion -Wconversion -std=c++17 -Isrc -IuSockets/src -flto examples/Http3Server.cpp uSockets/*.o -lz -o Http3Server
```
请注意,以上命令中的版本号可能需要根据你的系统和安装的 g++ 版本进行更改。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall -Wextra -Wno-register -fPIC -march=native -Wfatal-errors")
这行代码设置了CMake的C++编译标志(CMAKE_CXX_FLAGS)。具体来说,它添加了一系列编译选项,包括:
- "-O3":优化级别为3,以最高级别进行代码优化。
- "-Wall":启用所有警告。
- "-Wextra":启用额外的警告。
- "-Wno-register":禁用有关寄存器使用的警告。
- "-fPIC":生成位置无关代码(Position Independent Code)。
- "-march=native":根据本地处理器架构生成代码。
- "-Wfatal-errors":遇到致命错误时停止编译。
这些选项可以根据你的项目需求进行调整和修改。