关于GNU中函数crypt()的问题。

yex_qing 2002-07-29 05:22:52
在linux7.0下编辑gnu c程序,当用到(char*)crypt(const char *key,const char *salt)函数时,用gcc 编译通不过。
  提示错误信息:
 undefined reference to 'crypt'!
  请问,这是由于gnu库函数本身的问题还是其它什么?怎样才能在程序中成功实现加密功能?
  附代码:crypt_word.c

  #include <stdio.h>
  #include <stdlib.h>
  #include <unistd.h>
  void main(int argc,char **argv)
{
 if (argc!=3) exit(0);
 printf("%s\n",crypt(argv[1],argv[2]));
}

编译
gcc -o crypt_word crypt.c -lcrypt

请教高手,谢谢!
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoulifa 2002-07-30
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <unistd.h>
//Filename: test.c
//Designed by ZhouLifa.
//LastModifiedDate:2002.07.30
int
main(int argc, char ** argv) {
if (argc!=3) exit(0);
fprintf(stdout, "%s\n", crypt(argv[1], argv[2]));
return 0;
}

RedHat7.2下编译运行通过。
gcc test.c -o test -lcrypt
or
cc test.c -o test -lcrypt
The result:
./test a b ==>bbpow8gQOHu3Q
linuxnewer 2002-07-30
  • 打赏
  • 举报
回复
red hat 7.3, 编译通过。
yex_qing 2002-07-30
  • 打赏
  • 举报
回复
ok了.
yex_qing 2002-07-30
  • 打赏
  • 举报
回复
为什么我加不了分?
yex_qing 2002-07-30
  • 打赏
  • 举报
回复
谢谢你们,给分!

这个问题是个引子,我将在另贴中说明我所遇到的问题,也是关于加密问题的,如能解决,不吝重分。
wake2000 2002-07-29
  • 打赏
  • 举报
回复
编译的时候cc 加上 -lcrypt 选项试试。这个函数要连对应的库文件。
yex_qing 2002-07-29
  • 打赏
  • 举报
回复
加上 #define _XOPEN_SOURCE 编译还是一样,错误提示相同。我怀疑是不是我的Linux库函数不全?谁帮我编译一下,看看其他的Linux或Unix能否通过。
linuxnewer 2002-07-29
  • 打赏
  • 举报
回复
头文件没包全?

#define _XOPEN_SOURCE
#include <unistd.h>

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧