0
運行帶有輸入的可執行文件,我有以下生成文件:,利用makefile
CC=g++
CFLAGS=-I.
tiling_file=blocking.cpp
sequential_file=sequential.cpp
n1 = 100
n2=7
n3=4
all: tiling sequential run
tiling:
$(CC) $(tiling_file) -fopenmp -o block
sequential:
$(CC) $(sequential_file) -fopenmp -o seq
run:
./block $(n1) $(n2) $(n3)
塊可執行發生在三個輸入(由N1,N2,N3指定)。然而當我執行使我得到以下輸出
g++ blocking.cpp -fopenmp -o block
g++ sequential.cpp -fopenmp -o seq
./block 100 7 4
可執行文件不接受輸入,除非我再次輸入100 7 4並按回車鍵。 我該如何運行它?
這可能只是我的看法,但我並不熱衷於運行目標的makefile。 make的工作就是構建目標。如果你想一步一步構建並運行,你可以創建一個bash腳本來實現'make target && ./target p1 p2'等。 – John
@Jonh你的限制解決了什麼問題? –
它基本上是語義 - make的目的是建立一些東西,而腳本的目的是運行東西。從我的腦海裏想出的一個警告是,make中的環境可能有一些意想不到的設置(不同於你期望的shell,不同的路徑等)。這可能會導致從命令行與make進行運行時出現不同的行爲。 – John