我的问题是关于我用来学习C的书的练习;首先。在练习中,我们学习在某些.c文件之间共享功能。我在Xcode 8.2.1工作,想知道Xcode是否可以为我编译这个练习。我已经让它与终端一起正常工作了,但我想知道Xcode是否允许这个编译,而且我的财产或其他东西都出了问题。
该程序是一个简单的XOR加密程序。
这是文件:
main.c中:
#include <stdio.h>
#include "encrypt.h"
int main()
{
char msg[80];
printf("Type your message to be encrypted:\n");
while (fgets(msg, 80, stdin)) {
encrypt(msg);
printf("The encrypted message is like this: %s\n", msg);
encrypt(msg);
printf("The encrypted message is decrypted as: %s\n",msg);
printf("Type your message to be encrypted:\n");
}
}
encrypt.h:
#ifndef ENCRYPT_H_
#define ENCRYPT_H_
void encrypt(char *message);
#endif
encrypt.c:
#include "encrypt.h"
void encrypt(char *message)
{
while (*message) {
*message = *message ^ 31;
message++;
}
}
现在我在main.c文件中收到错误,说明函数加密存在冲突类型。这告诉我它将加密视为一个int值函数(默认情况下)。我认为问题在于程序没有正确地看到加密函数,但是我已经使用正确的声明等来访问正确的头文件。所以这让我觉得有一些编译器问题。
编辑:错误消息为:
Semantic Issue Group:
PATH/message_hider/encrypt.h:9:6: Conflicting types for 'encrypt'
PATH/message_hider/main.c:17:9: Implicit declaration of function 'encrypt' is invalid in C99