0

複数のプロセスを使用してファイルをソートすることを目標とするCプロジェクトに取り組んでいます。ファイルは最初のプログラムである「ルート」プロセスに渡されますが、ルートは「スプリッター」プロセスにフォークして実行し、次に「分割」プロセスにフォークして実行します。基本的には、ソートに使用されるプロセスのバイナリ ツリーです。

私の質問は、これらすべてのプログラムをファイル システムでどのように整理するかです。私は正しい3つの主な方法が必要になりますか?あなたが実行すると、メインメソッドが正しく実行されるからですか?もしそうなら、3つのプログラムすべてを同じフォルダに入れて一緒にコンパイルすることはできませんか? 3 つの異なる make ファイルが必要ですか?

次のようなものが必要ですか:ホームフォルダー

ルート フォルダー -- スプリッター フォルダー -- ソーター フォルダー

これは、複数のプロセスを含む最初の OS プロジェクトです。前もって感謝します

4

2 に答える 2

0

単一の実行可能ファイルを作成できます。実行可能ファイルは、fork()を呼び出すたびに、それが親か子かを判断して、適切なコードを実行できます。

于 2012-10-21T23:30:31.430 に答える
0

同じフォルダーに 3 つの実行可能ファイルを配置し、すべて同じ makefile でコンパイルすることができます。名前を変えてください。

メイクファイルの例:

CC = gcc
CFLAGS = -Wall
LDFLAGS =

TARGET1 = program1
TARGET2 = program2
TARGET3 = program3
ALL_TARGETS = $(TARGET1) $(TARGET2) $(TARGET3)

all: $(ALL_TARGETS)

$(TARGET1): program1.o
    $(CC) $(LDFLAGS) -o $@ $<

$(TARGET2): program2.o
    $(CC) $(LDFLAGS) -o $@ $<

$(TARGET3): program3.o
    $(CC) $(LDFLAGS) -o $@ $<

.c.o:
    $(CC) $(CFLAGS) -c -o $@ $<
于 2012-10-22T05:35:53.053 に答える