Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我正在尝试从http://c.learncodethehardway.org/book/ex3.html学习c,在练习期间,当我尝试编译以下代码时,我收到一条消息“对于ex3不需要做任何事情”。

#include <stdio.h>

int main()
{
int age = 10;
int height = 72;

printf("I am %d years old.\n", );
printf("I am %d inches tall.\n", height);

return 0;


为什么会收到此错误?将来如何避免此错误?

编辑:

感谢您的帮助,我已经纠正了丢失的“年龄”代码,这是makefile

 CFLAGS=-Wall -g

  clean:
    rm -f ex1

最佳答案

这不是错误消息。这仅意味着对于目标“ ex3”无需执行任何操作。可能是因为它已经构建。发布makefile文件,我们也许可以进一步阐明问题。

如果makefile具有以下内容:

ex3:test.c
    gcc -o ex3 test.c


这意味着目标ex3取决于文件test.c;当且仅当test.c的最后修改时间大于ex3的时间时,make才会运行gcc命令(换句话说,源代码比生成的二进制文件新)。您可以touch源代码文件强制生成:

touch test.c

10-08 15:18