&引用;错误:链接器命令失败,退出代码为;用于使用crypt函数

&引用;错误:链接器命令失败,退出代码为;用于使用crypt函数,c,encryption,crypt,C,Encryption,Crypt,我正在尝试像这样使用crypt函数(我是C新手,这只是为了学习) 为什么呢 (我知道这是一种非常糟糕的加密方式,这只是为了学习)如果您运行Linux,请尝试gcc file.c-o file-lcrypt链接libcrypt库 您可以从调用crypt()中删除(char*)强制转换,它已经返回了char*以及crypt()函数的声明,因为它已经由unistd.h提供 我还建议你改变这一点: char *key char *salt 到 因为它们指向只读内存,如果您试图修改它们指向的内容,它们将

我正在尝试像这样使用
crypt
函数(我是C新手,这只是为了学习)

为什么呢


(我知道这是一种非常糟糕的加密方式,这只是为了学习)

如果您运行Linux,请尝试
gcc file.c-o file-lcrypt
链接libcrypt库

您可以从调用
crypt()
中删除
(char*)
强制转换,它已经返回了
char*
以及
crypt()
函数的声明,因为它已经由
unistd.h
提供

我还建议你改变这一点:

char *key
char *salt


因为它们指向只读内存,如果您试图修改它们指向的内容,它们将产生一个
SIGSEGV
(分段错误信号)。

(我不回答您的问题,但您在主内存中对crypt的输出进行了什么转换?)“crypt”是否定义在同一个.c文件中?如果Linux是您的预期平台,可能需要遵循链接器的建议。引用手册页“在glibc 2.x系统上使用这些函数的程序必须链接到libcrypt。”;使用
-lcrypt
/home/bla/password.c:20: undefined reference to `crypt'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
char *key
char *salt
const char *key
const char *salt