• makefile-c


    1. GCC编译C/C++的四个过程
    2. gcc 是 GUN Compiler Collection的缩写。
    3. 预处理(pre-processing),E:插入头文件,替换宏,展开宏
    4. gcc main.c -E -o main.i
    5. 编译(Compiling)S:编译成汇编
    6. gcc main.i -S –o main.s
    7. 汇编(Assembling) c:编译成目标文件
    8. gcc main.s –c –o main.o
    9. 链接 (Linking):链接到库中,变成可执行文件
    10. gcc main.o –o main
    11. ./main
    12. 也可以一次性完成:
    13. gcc main.c –o main
    14. ---------------------------------①-start-------------------------------------------------------------
    15. mytool:main.o tool1.o tool2.o
    16. gcc main.o tool1.o tool2.o -o mytool
    17. main.o:main.c
    18. gcc main.c -c -Wall -g -o main.o
    19. tool1.o:tool1.c
    20. gcc tool1.c -c -Wall -g -o tool1.o
    21. tool2.o:tool2.c
    22. gcc tool2.c -c -Wall -g -o tool2.o
    23. clean:
    24. rm *.o mytool -rf
    25. ---------------------------------①-end-------------------------------------------------------------
    26. ---------------------------------②-start-------------------------------------------------------------
    27. OBJS=main.o tool1.o tool2.o
    28. CC=gcc
    29. CFLAGS+=-c -Wall -g -pthread -D_FILE_OFFSET_BITS=64 -D_GUN_SOURCE
    30. LDFLAGS+=-pthread
    31. mytool:$(OBJS)
    32. $(CC) $(OBJS) -o mytool
    33. main.o:main.c
    34. $(CC) main.c $(CFLAGS) $(LDFLAGS) -o main.o
    35. tool1.o:tool1.c
    36. $(CC) tool1.c $(CFLAGS) $(LDFLAGS) -o tool1.o
    37. tool2.o:tool2.c
    38. $(CC) tool2.c $(CFLAGS) $(LDFLAGS) -o tool2.o
    39. clean:
    40. $(RM) *.o mytool -r
    41. ---------------------------------②-end-------------------------------------------------------------
    42. ---------------------------------③-start-------------------------------------------------------------
    43. OBJS=main.o tool1.o tool2.o
    44. CC=gcc
    45. CFLAGS+=-c -Wall -g -pthread -D_FILE_OFFSET_BITS=64 -D_GUN_SOURCE
    46. LDFLAGS+=-pthread
    47. mytool:$(OBJS)
    48. $(CC) $^ -o $@
    49. main.o:main.c
    50. $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
    51. tool1.o:tool1.c
    52. $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
    53. tool2.o:tool2.c
    54. $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
    55. clean:
    56. $(RM) *.o mytool -r
    57. ---------------------------------③-end-------------------------------------------------------------
    58. ---------------------------------④-start-------------------------------------------------------------
    59. OBJS=main.o tool1.o tool2.o
    60. CC=gcc
    61. CFLAGS+=-c -Wall -g -pthread -D_FILE_OFFSET_BITS=64 -D_GUN_SOURCE
    62. LDFLAGS+=-pthread
    63. mytool:$(OBJS)
    64. $(CC) $^ -o $@
    65. %.o:%.c
    66. $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
    67.    
    68. clean:
    69. $(RM) *.o mytool -r
    70. ---------------------------------④-end-------------------------------------------------------------

  • 相关阅读:
    【吴恩达机器学习笔记】五、逻辑回归
    机器学习与数据分析
    【行为型模式】命令模式
    Environment Modules工具
    echarts制作关系图谱
    【全志T113-S3_100ask】14-1 linux采集usb摄像头实现拍照(FFmpeg、fswebcam)
    微服务追踪SQL(支持Isto管控下的gorm查询追踪)
    PC_DRAM
    4.0体验站|OceanBase 4.0 我回来给你点个赞
    C#.Net筑基-模式匹配汇总
  • 原文地址:https://blog.csdn.net/guoguo0524/article/details/134286619