endif# [args] 程序位数. 32代表32位程序, 64代表64位程序, 其他默认. make BITS=32.ifeq ($(BITS),32) CFLAGS += -m32 LFLAGS += -m32elseifeq ($(BITS),64) CFLAGS += -m64 LFLAGS += -m64elseendif endif .PHONY : all clean# filesTARGETS = gcc64_make OBJS = gcc64_make.o all : $...
make BITS=32:32位(的debug)版。 make BITS=64:64位(的debug)版。 make RELEASE=0 BITS=32:32位的debug版。 make RELEASE=0 BITS=64:64位的debug版。 make RELEASE=1 BITS=32:32位的release版。 make RELEASE=1 BITS=64:64位的release版。 该makefile的代码风格是精心设计的,可以很方便的扩展—— 需...
dice: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs) [...] 接着,当然,ldd ./dice32也会指向你的 32 位库。 不同的架构 在64 位相同的处理器家族上允许 GCC 做出很多关于如何编译代码的假设来编译 32 位软件。如果你需要为完全不同的处理器编译,...
不要说 32bit / 64bit 这种根本性不同了,在编译 GCC 的时候,有HOST(GCC运行的平台) 和TARGET(...
(32位)/usr/lib/i386-linux-gnu/crti.o (64位)/usr/lib/x86_64-linux-gnu/crti.o and setup an env-var $LIBRARY_PATH LIBRARY_PATH=/usr/lib/i386-linux-gnuexportLIBRARY_PATH DO NOT LIBRARY_PATH=/usr/lib/i386-linux-gnu:$LIBRARY_PATH,this will get an error like below: Error: checking LI...
interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=655998d8473f3943b09638ea12e6bb148838c2e1, for GNU/Linux 3.2.0, not stripped deng@itcast:~/projects/Project1$ file main_stripped main_stripped: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpret...
-X 32_64 (ignored) @FILE Read options from FILE -h, --help Display this information -V, --version Display this program's version number 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
These `-m’ switches are supported in addition to the above on AMD x86-64 processors in 64-bit environments. -m32 -m64 -mx32 Generate code for a 32-bit or 64-bit environment. The -m32 option sets int, long and pointer to 32 bits and generates code that runs on any i386 system. ...
需要注意的是readTileContentIndexCallback函数只有两个参数,所以通过寄存器传递即可。因此函数readTileContentIndexCallback的第一个参数使用的是x0寄存器传递,第二个参数使用的是x1寄存器,而w1寄存器是指x1的低32bit。_Z28readTileContentIndexCallbackP22TileContentIndexStructi:.LFB48: .cfi_startproc cmp w1...