c - 如何在 UNIX 中包含 C 可用的基本头文件?

标签 c unix header-files turbo-c

当我们在 Turbo C 上工作时,我们默认获得所有的函数和头文件,我们通常可以通过 #include 例如:stdlib.h、math.h

但是在使用此类头文件编写简单程序时出现错误,因为我无法包含这些文件。这些头文件不是默认提供给我们使用的吗? 如果是那么如何使用这样的头文件? 当我在“math.h”中使用函数 sqrt 时出现错误,因为 math.h 未包含在内,因此我必须将其包含在以下命令中:

cc -c aaa.c -I/usr/local/ssl/include
gcc -o aaa aaa.c -I/usr/local/ssl/include -L/usr/local/ssl/lib -lcrypto -lm
./aaa

在这个命令中,第二个命令在末尾有 -lm 以包含 math.h

再次类似地,我使用了 stdlib.h 中的函数 itoa() 这是我在 UNIX Solaris 服务器上执行的,但它没有被包括在内,我遇到了错误。现在我不知道如何添加这个头文件。

最佳答案

math.h header 正常包含在内。代码可以编译。但是,编译器不会找到要链接 的已编译二进制文件(math.h 的实现),除非您指定它这样做。所以你必须在命令中指定-lm。

itoa() 不是stdlib.h 中的标准函数,所以不要使用它。您可以改用 sprintf。

关于c - 如何在 UNIX 中包含 C 可用的基本头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10715572/

相关文章:

python - 用户安装的 python 模块

bash - awk 在脚本中更改工作目录

linux - 如果使用 AND 条件,awk -F 找不到字符串

C++ 解决此继承的正确方法包括问题 "already has a body"?

c - 头文件在linux中是如何组织的

python - fscanf 在 ctype python 调用中不起作用

c - 处理来自 char 数组的数据

python - 如何从 C 程序调用带有内存 View 的 Cython 的 cdef 函数?

c++ - 为什么要将整个 header 内容放在保护 token 中?

objective-c - 避免#import of header for abstract-only parent class