“自作聪明”的 GCC
printf 变 puts /* main.c */ #include <stdio.h> int main(int argc, char *argv[]) { printf("hello world!\n"); return 0; } $ gcc main.c -nostdlib /usr/bin/ld: 警告: 无法找到项目符号 _start; 缺省为 0000000000001030 /usr/bin/ld: /tmp/cc0k0Sjn.o: in function `main': main.c:(.text+0x1b): undefined reference to `puts' collect2: error: ld returned 1 exit status -nostdlib 选项是让 gcc 不链接标准库。……