执行程序会卡一下才出结果。
可以在tyme4cpp的编译文件中加点优化,经测试速度快了许多。
cmake_minimum_required(VERSION 3.16)
project(tyme4cpp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
设置构建类型,默认为 Release
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
endif()
根据构建类型设置优化
if (CMAKE_BUILD_TYPE STREQUAL "Release")
# Release 模式优化
add_compile_options(
-O3 # 最高优化级别
-DNDEBUG # 禁用调试
-march=native # 使用本地 CPU 指令集
-mtune=native # 针对本地 CPU 调优
-flto # 链接时优化
)
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
add_compile_options(
-O2 # 平衡优化
-g # 保留调试信息
)
elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
add_compile_options(
-Os # 优化代码大小
-DNDEBUG
)
else()
# Debug 模式
add_compile_options(-O0 -g)
endif()
set(SOURCES
tyme.cpp
tyme.h
util.h
util.cpp
)
add_library(tyme4cpp STATIC ${SOURCES})
target_include_directories(tyme4cpp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
执行程序会卡一下才出结果。
可以在tyme4cpp的编译文件中加点优化,经测试速度快了许多。
cmake_minimum_required(VERSION 3.16)
project(tyme4cpp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
设置构建类型,默认为 Release
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
endif()
根据构建类型设置优化
if (CMAKE_BUILD_TYPE STREQUAL "Release")
# Release 模式优化
add_compile_options(
-O3 # 最高优化级别
-DNDEBUG # 禁用调试
-march=native # 使用本地 CPU 指令集
-mtune=native # 针对本地 CPU 调优
-flto # 链接时优化
)
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
add_compile_options(
-O2 # 平衡优化
-g # 保留调试信息
)
elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
add_compile_options(
-Os # 优化代码大小
-DNDEBUG
)
else()
# Debug 模式
add_compile_options(-O0 -g)
endif()
set(SOURCES
tyme.cpp
tyme.h
util.h
util.cpp
)
add_library(tyme4cpp STATIC ${SOURCES})
target_include_directories(tyme4cpp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})