// ECX contains the first parameter
// EDX contains the second parameter
mov %ecx, %eax
add %edx, %eax
ret
汇编文件hello.s写完之后,可以先用gcc将其汇编成目标文件hello.o,然后我们可以写GNUmakefile:
GNUSTEP_MAKEFILES = /usr/share/GNUstep/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make
ADDITIONAL_FLAGS += -std=gnu11
TOOL_NAME = test
test_OBJC_FILES = main.m
include $(GNUSTEP_MAKEFILES)/tool.make
ALL_LDFLAGS += hello.o
最后,ALL_LDFLAGS标志中添加了hello.o之后,GNUmakefile就会将hello.o与main.o一起连接成最终的可执行文件test。
如果不用makefile编译,可以直接使用命令行,比如:
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
另外,我们也可以直接在控制台使用:gnustep-config --objc-flags 来查看编译Objective-C的默认编译选项,从而可以做些调整。
如果我们要使用Clang以及Objective-C 2.0的库可以参考这个链接:
下载其它库可以参考这个链接:?site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F