YCT Config Tool 生成的 CMake 脚本覆盖了默认优化选项,导致代码裁剪失效
-
如下图所示,工具界面中默认开启了 -ffunction-sections 和 -fdata-sections。
-
原因: 生成的 cmake/gcc.cmake 脚本中使用 SET(CMAKE_C_FLAGS ...) 强制重置了编译参数,导致工具传入的这些标志被覆盖丢失。
-
后果: 链接器无法正确剔除未使用的代码(Dead Code Elimination)
-
关联问题:
https://forum.ytmicro.com/topic/1302/同样的工程vscode-gcc编译的二进制文件远远大于keil-mdk生成的?_=1763805564704


-
-
J jin_yi 在 中 引用了 这个主题
-
gcc.cmake会覆盖yct上位机的编译优化指令的问题,请问后续有更新计划嘛
现在使用的是如下方法,
在{project_DIR}/CMakeList.txt中# USER CODE BEGIN start add_compile_options(-ffunction-sections -fdata-sections) # USER CODE END start # USER CODE BEGIN target_link_libraries target_link_options(${project_elf} PRIVATE -Wl,--gc-sections) # USER CODE END target_link_libraries是否为云图官方推荐的方式?
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...


