MacOS 10.14.6下clang/gcc编译HelloWorld报错:Expected FILENAME
解决Mac上C语言HelloWorld编译错误的问题
嘿,刚入门编程别慌,你遇到的这两个问题都是非常基础的小问题,咱们马上就能搞定:
1. 解决#import的语法错误
错误提示里的expected "FILENAME" or <FILENAME>是因为你在纯C代码里用了Objective-C的导入语法#import。虽然#import在Objective-C里用来避免重复导入头文件,但纯C程序应该用#include来引入标准库头文件。
把你的代码第一行改成:
#include <stdio.h>
2. 消除printf的隐式声明警告
这个警告其实是第一个错误连锁导致的——因为头文件没正确导入,编译器不知道printf的官方声明,所以才会提示“隐式声明”。只要把#import改成#include,这个警告就会自动消失。
编译运行的正确步骤
改完代码后,你可以用下面的命令编译运行:
- 编译生成可执行文件:
(注:Mac上的gcc hello.c -o hellogcc其实是clang的别名,你也可以直接用clang hello.c -o hello,效果完全一样) - 运行程序:
./hello
这样就能正常输出Hello, world!啦~
另外必须附议:《黑客军团》确实超棒!
内容的提问来源于stack exchange,提问作者nextural
相关产品推荐
相关产品推荐

