ファイルがファイルを参照できるように、C で複数のファイルをコンパイルすることについて、最近この質問をしました。答えは、モジュールファイルをヘッダーファイルにして、それをメインインポートすることでした。main.c
modules.c
Cはモジュラーコンパイルをサポートしているため、これは間違った方法であると言われました。main.c
私の Makefile は以下のとおりです。これはおそらく正しいと思われますが、 --の関数呼び出しごとにエラーが発生しますwarning: implicit declaration of function X
。
.c
1 つのファイルではなく 2 つのファイル.c
を使用して、これを正しくコンパイルするにはどうすればよい.h
ですか? main.c
ファイルには、 の関数main()
を呼び出せるようにする必要がある関数が含まれていmodules.c
ます。
メイクファイル:
#################################################################
# Variables
# -- allows C-source and assembly-source files mix. Again, the
# -- indented lines start with a TAB(^I) and not spaces..
#################################################################
CFLAGS = -g -Wall -Werror
LDFLAGS =
CC = gcc
LD = gcc
TARG = driver
OBJS = modules.o main.o
#################################################################
# Rules for make
#################################################################
$(TARG): $(OBJS)
$(LD) $(LDFLAGS) $(OBJS) -o $(TARG)
%.o: %.c %.s
$(CC) $(CFLAGS) -c $<
clean:
rm -f *.o *˜ $(TARG)
print:
pr -l60 Makefile modules.c main.c | lpr
#################################################################
# Dependencies -- none in this program
#################################################################