当我试图包括<math.h>
我发现我需要使用命令gcc -lm
是否可以从gcc中的C源代码内部链接到数学库?
到数学函数库的链接,但我正在寻找另一种方式为“代码”的数学库,不需要用户进行编译链接使用任何选项..
可以gcc -lm
使用#pragma
什么的C代码?
编辑:我已经改变了-ml
到-lm
当我试图包括<math.h>
我发现我需要使用命令gcc -lm
是否可以从gcc中的C源代码内部链接到数学库?
到数学函数库的链接,但我正在寻找另一种方式为“代码”的数学库,不需要用户进行编译链接使用任何选项..
可以gcc -lm
使用#pragma
什么的C代码?
编辑:我已经改变了-ml
到-lm
为用户(或实际上为开发人员)简化并发症的常用方法是编写一个makefile。
首先,它是gcc -lm
没有没有#pragma
为了给连接指令
不,你需要告诉链接程序库中,以便链接链接图书馆。
链接器不知道代码,只知道编译的目标文件。它不会看到语言特定的附注。
不,gcc没有链接库的编译指示。您必须使用命令行选项链接到数学库(它的编号为-lm
而不是-ml
)
使用-lm
是唯一选项。此外,使用#pragma
这是微软特有的,而且很脏。想象一下,有一个新的超高效的数学库,它需要-lsupermath而不是-lm - 那么你必须修改你的代码而不是修改makefile或make config文件。
你不说哪个UNIX外壳使用的是的,但如果这仅仅是为了方便地使用,简单的写一个shell函数:
gcm() {
gcc -lm $*
}
假如把它放在你的shell启动文件,你可以编译和链接与数学库:
gcm mycode.c
我怀疑这在一般情况下是有用 – 2010-05-17 11:33:21
但是我看不出它是如何回答关于编译指示的问题;) – 2010-05-17 15:05:21