2015-06-11 94 views
0

我開發的Cortex-M4處理器的項目和我的編譯器標誌包括此:TARGET_ARCH和TARGET_MACH變量有什麼區別?

-mlittle-endian -mthumb -mcpu=cortex-m4 

這裏是make數據庫的摘錄(make -p | grep -E '^(LINK|COMPILE)\.[cosS]\ ' | sort)):

COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c 
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 
COMPILE.s = $(AS) $(ASFLAGS) $(TARGET_MACH) 
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH) 
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) 
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH) 
LINK.s = $(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH) 

我看到,彙編源TARGET_MACH用於c源使用TARGET_ARCH但有什麼區別以及如何正確指定這些變量?

回答

1

發現這個:http://zoo.cs.yale.edu/classes/cs210/help/make.htmlTARGET_ARCHTARGET_MACH是目標系統的archmach輸出。如果您搜索上述實用程序,您可以發現在現代系統上它們對應於uname -muname -p的輸出。對於我的桌面,他們給我x86_64i386記者。

+0

兩者都是「目標系統的機器架構」,所以目前還不清楚。不管怎麼說,還是要謝謝你。 – LennyB

相關問題