gcc test.c -o test 报错:expected ‘;’, ‘,’ or ‘)’ before ‘.’ token
时间: 2024-05-26 08:17:48 浏览: 12
这个错误通常是因为您在代码中出现了语法错误。可以检查一下您的代码是否有类似下面这样的错误:
- 括号不匹配
- 分号丢失
- 语句不完整
在您提供的信息中,提示的是“expected ‘;’, ‘,’ or ‘)’ before ‘.’ token”,这可能意味着您在代码中使用了一个点(“.”),但是点前面的语句不完整或者缺少分号。请检查您的代码,并尝试修复这些语法错误。
相关问题
帮我检查一下makefile文件mytool:test.o gcc test.o -o mytool test.o:test.c gcc test.c -c -Wall -g -o test.o有问题吗
根据你提供的Makefile文件,存在一些问题:
1. `test.o`规则中的命令行存在重复,应该只保留`gcc test.c -c -Wall -g -o test.o`,而不是将`test.o`作为目标文件并再次编译。
2. `mytool`规则中的命令行中应该使用`$^`代替目标文件列表,这样可以自动引用依赖项列表,而不必手动列出每个源文件。
因此,可以将Makefile文件修改为以下内容:
```
mytool: test.o
gcc $^ -o $@
test.o: test.c
gcc -c -Wall -g $< -o $@
```
在修改后的文件中,`mytool`规则使用了`$^`代替目标文件列表,`test.o`规则只编译`test.c`文件并生成`test.o`目标文件。这样可以正确构建目标文件和可执行文件,并且在需要更新源文件时可以自动重新编译。
gcc test.c -o test与gcc -o test test.c有什么区别
这两个命令的执行结果是一样的,它们都是将名为 test.c 的源文件编译成可执行文件 test。
但是,它们的语法稍有不同:
- `gcc test.c -o test`:表示将源文件 test.c 编译成可执行文件 test,并将该可执行文件命名为 test。
- `gcc -o test test.c`:表示将源文件 test.c 编译成可执行文件 test,并将该可执行文件命名为 test。
可以看出,两个命令的参数顺序不同,但是都能达到相同的效果。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)