使用GCC将数学库链接到C90代码
我想利用数学库编译一个简单的C90代码: 主要条款c: 但它没有编译。以下是错误消息:使用GCC将数学库链接到C90代码,gcc,math.h,c89,Gcc,Math.h,C89,我想利用数学库编译一个简单的C90代码: 主要条款c: 但它没有编译。以下是错误消息: main.c: In function ‘main’: main.c:7:25: error: ‘M_PI’ undeclared (first use in this function) main.c:7:25: note: each undeclared identifier is reported only once for each function it appears in 我的问题是,为什么?
main.c: In function ‘main’:
main.c:7:25: error: ‘M_PI’ undeclared (first use in this function)
main.c:7:25: note: each undeclared identifier is reported only once for each function it appears in
我的问题是,为什么?C90标准是否禁止使用数学库?M#PI通常声明为宏,并且有一个明确的保护
#if!已定义(\u ANSI\u SOURCE)
(至少在OSX中),这表明ANSI实现不支持它
对于gcc,您还可以使用
-std=c90
强制c90M#PI通常声明为宏,并且有一个显式保护#if!已定义(\u ANSI\u SOURCE)
(至少在OSX中),这表明ANSI实现不支持它
对于gcc,您还可以使用
-std=c90
强制c90当需要严格的iso标准时,不定义M_PI。请在第页的“三角函数”下查看。建议在使用-ansi时,自己定义它:
#define M_PI 3.14159265358979323846264338327
当需要严格的iso标准时,未定义M_PI。请在第页的“三角函数”下查看。建议在使用-ansi时,自己定义它:
#define M_PI 3.14159265358979323846264338327
#define M_PI 3.14159265358979323846264338327