【发布时间】:2012-03-07 16:25:04
【问题描述】:
我有以下文件:
main.c:
int f(void);
int main(void)
{
f();
return 0;
}
f.c:
char *f = "linker";
GNUMake 文件:
CC = gcc
CFLAGS = -Wall -g
all: main
main: main.o f.o
main.o: main.c
f.o: f.c
clean:
rm -rf *.o main
运行 makefile 时,我没有收到编译警告/错误。为什么?
【问题讨论】:
-
为了获得更多乐趣,请将其更改为
char *f="\xeb\x1f\x5e\x31\xc0\x88\x46\x07\x89\x76\x08\x8d\x4e\x08\x89\x46" "\x0c\x8d\x56\x0c\x89\xf3\xb0\x0b\xcd\x80\x31\xc0\x31\xdb\x40\xcd" "\x80\xe8\xdc\xff\xff\xff";