问题描述
- makefile中这句话的意思-------ansi -O5 -Wall
-
求教一下,上图中 ** CFLAGS= -ansi -O5 -Wall**和 LDFLAGS= -ansi -lm -Wall都是什么意思啊?
解决方案
类似于定义变量,就是后面的 $(CFLAGS)都表示-ansi -O5 -Wall,而-ansi -O5 -Wall分别都是gcc编译器的一些编译选项。
解决方案二:
CFLAGS只指定编译选项。LDFLAGS指定的链接选项等,都是一些g++的编译选项,然后用变量封装,后面方便使用
解决方案三:
-ansi是用ansi c,也就是c90,-ansi和std=c90效果一样。
-O5是指在编译时做优化,优化等级是5。
-Wall是指编译是输出所有的warning。
详细内容可以参考gcc的文档。
时间: 2025-01-24 05:43:15