【问题标题】:Can we use a header file without specifying its .h extension我们可以在不指定 .h 扩展名的情况下使用头文件吗
【发布时间】:2023-03-21 19:22:01
【问题描述】:

例如,我们可以在c中使用#include<stdio>而不是#include<stdio.h>,并且我们可以使用用户定义的函数作为头文件而不指定其扩展名,并添加一个扩展名为.mp3的文件。

【问题讨论】:

  • 你尝试的时候发生了什么?
  • 这 3 个独立的问题还是只有一个问题?还有“用户定义的功能而不指定其扩展名”是什么意思?函数没有扩展。

标签: c function include


【解决方案1】:

例如,[我们可以] 使用#include<stdio> 代替#include <stdio.h>

理论上,是的,编译器可以提供该功能。实际上,不,我从来没有遇到过让你这样做的 C 编译器。

你为什么要这么做?

我们可以使用用户定义的函数而不指定其扩展名

我不明白这个问题。

并添加扩展名为 .mp3 的文件

没有什么能阻止您将 C 程序保存到扩展名为 .mp3 而不是 .c 的文件中,如果您随后在这些文件上运行 C 编译器,它可能会编译它们。但是,如果您尝试在一个实际包含 MP3 格式音频记录的文件上运行 C 编译器,我看不出这有什么用处。

【讨论】:

  • 出于好奇,我尝试了gcc something.wav。 gcc 拒绝这样做。如果我将文件重命名为main.c,它会尝试编译它——而且它一点也不漂亮。
  • @Michail Floods of "stray \NNN in program",嗯?我知道为什么会发生这两件事,但我想如果我尝试解释(典型的 Unix)C 编译器如何比我更详细地解释文件扩展名,我只会让 OP 更加困惑。
  • 那么可能在chat 中?如果您有时间并愿意这样做。
  • @Michail 我不喜欢使用聊天系统。你是要我向你解释,还是向 OP 解释?我会回答你写的一个更连贯的问题。 (我只写了这个答案,因为它太长了,不能发表评论。)
  • 很公平。我真的不知道OP是否对此感兴趣;我觉得很有趣。那时我可能会问一个问题 - 如果我在某处找不到现有的解释。
猜你喜欢
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 2021-07-09
  • 2016-09-12
  • 2017-12-03
相关资源
最近更新 更多