LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1087|回复: 5

用gcc 怎么样编译含有非标准头文件的程序

[复制链接]
发表于 2004-11-19 03:04:07 | 显示全部楼层 |阅读模式
我知道怎么编译含有#include<math.h>的  --> 在编译命令上加上-lm 选项
但是比如含有#include<string.h> #include<graphics.h> 这些的呢
应该用什么选项的命令呢.   
  还有其他的头文件呢???????????????????????????

先谢过!!!1
发表于 2004-11-19 10:01:45 | 显示全部楼层
linux下有graphics.h吗?
一般的标准函数库gcc会自动连接,有特殊的才需要自己指定。
 楼主| 发表于 2004-11-19 11:48:12 | 显示全部楼层
我不知道什么叫做特殊的. math.h 特殊吗,这也需要连的啊 . string.h 也没有吗 ? 还是不知道怎么连呢. 我也不知道graphics.h有没有, 您就不要给我反问, 直接教我说有还是没!!!
像下面的程序 在MS能编译通过, 是不是在LINUX下就不能了呢???
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    long i;
    char s1[8], s2[8];
    for (i=1; i<1000000; ++i)
    {
        ltoa(i, s1, 10);        /* 转化为字符 */
        strcpy(s2, s1);         /* 复制字符   */
        strrev(s2);             /* 翻转字符   */
        if (!strcmp(s1, s2))    /* 相同则打印 */
            printf("%ld\t", i);
    }
   return 0;
}


还有包含#include<graphics.h>的程序呢???
发表于 2004-11-19 13:59:59 | 显示全部楼层
包含头文件和-l有关系么。。。

需要-l非标准库恐怕你得自己知道了
 楼主| 发表于 2004-11-19 17:54:12 | 显示全部楼层
回楼上兄弟:
   我不知道有没有什么关系, 但我知道如果编译有#include<math.h>并使用了math函数的程序如果不用-lm选项,就不能编译通过. 难道libm.a不是要通过导入的库吗>?
   我想知道的是string.h与哪个库相关. 或者您就直接告诉我上面程序如果不修改,能不能在LINUX下编译通过并能运行呢? 如能, 不吝赐教!!
   多谢!!!
发表于 2004-11-19 19:53:07 | 显示全部楼层
应该是包含非标准库吧

字符串处理函数在libc里吧,缺省就连接了,不需要指定
除非这个string.h是你另外找来的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表