运行c程序-stdio.h在哪里可以得到它?

运行c程序-stdio.h在哪里可以得到它?,c,unix,makefile,C,Unix,Makefile,研究学习C。据我所知,当我说#include时,它从默认位置获取stdio.h…通常是工作目录中名为include的目录。我实际上如何获得stdio.h文件?我是否需要下载一堆.h文件并在include目录中从一个项目移动到另一个项目?我在test.c文件中执行了以下操作。然后我运行make测试,它输出一个二进制文件。当我运行./test时,我没有在屏幕上看到hello打印。我想我没有看到输出,可能是因为它没有找到stdio.h库。但是,如果我删除stdio中的大于或小于符号,编译器会给我一个错

研究学习C。据我所知,当我说
#include
时,它从默认位置获取stdio.h…通常是工作目录中名为include的目录。我实际上如何获得stdio.h文件?我是否需要下载一堆.h文件并在include目录中从一个项目移动到另一个项目?我在test.c文件中执行了以下操作。然后我运行make测试,它输出一个二进制文件。当我运行./test时,我没有在屏幕上看到hello打印。我想我没有看到输出,可能是因为它没有找到stdio.h库。但是,如果我删除stdio中的大于或小于符号,编译器会给我一个错误。有什么想法吗

我在Mac上通过命令行运行这个。我使用的是:GNU Make 3.81。这个程序是为i386-apple-darwin10.0构建的

#include <stdio.h>

main()
{
  printf("hello");
}
#包括
main()
{
printf(“你好”);
}
编辑:我已更新代码以包含主函数的数据类型并返回0。我仍然得到相同的结果…编译没有错误,当我运行文件时。/test它不会在屏幕上打印任何内容

#include <stdio.h>

int main()
{
  printf("hello");
  return 0;
}
#包括
int main()
{
printf(“你好”);
返回0;
}
更新: 如果我在printf中添加一个\n,它会工作!因此,这将起作用:

#include <stdio.h>

    int main()
    {
      printf("hello\n");
      return 0;
    }
#包括
int main()
{
printf(“hello\n”);
返回0;
}

如果没有该文件,则会出现编译错误

我猜文本是打印出来的,但是在你有机会看到它之前控制台已经关闭了


另外,
main
返回一个
int
,您应该
返回0表示成功完成。

您的代码最好

 printf("hello\n");

如果您想知道标准头文件
来自何处,可以使用适当的标志运行编译器。如果是
gcc
,请尝试使用

gcc -H -v -Wall hello.c -o hello
迂腐地说,标准头文件甚至不需要作为文件存在;该标准允许在不访问文件系统的情况下处理
#include
(例如,通过检索编译器内部或数据库中的内部资源…)的实现。很少有编译器会这样做,大多数编译器会真正访问文件系统中的某些内容。

#include
,使用尖括号,在编译器已知的标准系统位置进行搜索,而不是在项目的子目录中。在Unix系统中(我相信包括您的Mac),
stdio.h
通常位于/usr/include中。如果使用
#include“header.h”
,则首先搜索子目录,然后搜索与
相同的位置


但运行程序时不需要查找或复制头。它是在编译时读取的,因此./test根本不需要它。你的程序看起来应该是有效的。您是否可能只是键入了“test”,而不是“/test”,然后得到了系统命令“test”?(建议:不要将您的程序命名为“测试”。

只需将此留在此处:仍然!2018年12月。。。Linux Mint 18.3 不支持C开发

Innomy/#cc ThoseSorts.c

ThoseSorts.c:1:19:致命错误:stdio.h:没有这样的文件或目录 编译终止

innocent/#gcc ThoseSorts.c

ThoseSorts.c:1:19:致命错误:stdio.h:没有这样的文件或目录 编译终止

天真无邪

(缩写):
包装:libc6
版本:2.23-0ubuntu10
优先级:必需
章节:libs
资料来源:glibc
来源:Ubuntu
安装大小:11.2MB
取决于:libgcc1
主页:
描述:GNU C库:共享库
包含上几乎所有程序都使用的标准库
系统。此软件包包括标准C库的共享版本
以及标准数学库,以及其他许多库

Innomy/#apt get安装libc6 dev libc dev
所以,魔法。。。一分钟后,它们都安装在 计算机,然后事情按它们应该的方式运行

并非所有发行版都将每个ISO中的所有C支持库捆绑在一起。 嗯

hardlyinnocent/#gcc ThoseSorts.c

完全无辜的

二十 18 17 16
... ... ...

@Basile\u Starynkevitch您的\n修复了我的问题。感谢您的推荐。我强烈建议使用
-Wall
进行每次使用
gcc
(或
clang
)的编译,并在未发出警告之前修复代码。我很难相信您以前没有得到任何输出。你有很长的提示吗?运行./test后,是否在shell提示符的左侧查找“hello”?请再次编译原始代码,然后尝试以下操作:
/test;回显完成
gcc -H -v -Wall hello.c -o hello