在Visual Studio 2013中编译简单的C代码

巴巴巴吉

我正在尝试在VS2013中编译非常简单的C代码。我事先做了一些谷歌搜索,我意识到我需要遵循某些步骤,例如DefaultCompile As C Code在项目属性中将编译器从更改为

问题是当我编译以下代码时:

#include <stdio.h>
main()
{
    printf("Hello World! \n");
    sleep(5);
}

我得到这些错误:

Error   1   error LNK2019: unresolved external symbol _sleep referenced in function _main
Error   2   error LNK1120: 1 unresolved externals

如果我将代码更改为:

#include <stdio.h>
#include <Windows.h>
main()
{
    printf("Hello World! \n");
    Sleep(5000);
}

然后工作正常。

如何使我的第一个代码成功编译?我在C中有一些经过测试的代码,需要使用它们。如果无法解决以上问题,则必须更新所有语法。

格热哥兹·斯佩特科夫斯基

如何使我的第一个代码成功编译?

您不能(至少与您声明的这段代码完全一样)。关键是,<stdio.h>标头不提供sleep()C标准所要求的声明,每个函数都需要在调用之前声明。就这么简单。

第二件事是sleep()您可能需要从POSIX(特别是从<unistd.h>标头)获得的功能。但是,Visual Studio 2013兼容POSIX。因此,该解决方案是使用Sleep()中,在声明的<Windows.h>报头或可能的一些其它的替代方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章