美文网首页
makefile 同时生成多个可执行文件

makefile 同时生成多个可执行文件

作者: 1Z实验室阿凯 | 来源:发表于2016-04-09 10:16 被阅读4138次

    之前的问题描述

    在makefile中加编译参数-pthread
    也就是由这个问题,让我一步步去学习了makefile的使用

    makefile 默认只生成第一个可执行文件,所以为了同时编译多个可执行文件,我们用到了伪可执行文件,make 过程中并不生成 这个伪可执行文件,利用依赖的属性,同时生成三个可执行文件

    源代码功能介绍

    编写程序sender,它创建一个共享内存,然后等待用户通过终端输入一串字符,并将这串字符通过共享内存发送给receiver;最后,它等待receiver的应答,等到应答消息后,将接收到的应答信息显示在终端屏幕上,删除共享内存,结束程序的运行。编写receiver程序,它通过共享内存接收来自sender的消息,将消息显示在终端屏幕上,然后再通过该共享内存向sender发送一个应答消息“over”,结束程序的运行。使用无名信号量或System V信号量实现两个进程对共享内存的互斥使用。

    源文件

    Code in Github

    工程文件说明说明

    1. all 在这里是一个伪执行文件 依赖 init ,sender,recevier三个可执行文件

    2. common 里面不包含main函数,里面是一些封装的函数
      common.c 没有外部依赖 common.o 自动生成

    3.makefile会自动添加部分信息

    init.o : init.c common.h 
    

    等效于

    init.o : common.h
    

    makefile终极版本

    all : init sender receiver
    .PHONY : clean
    
    
    init : init.o common.o
        cc -pthread -o init init.o common.o
    
    sender : sender.o common.o
        cc -pthread -o sender sender.o common.o
    
    receiver : receiver.o common.o
        cc -pthread -o receiver receiver.o common.o
    
    init.o : common.h           
    
    sender.o : common.h
    
    receiver.o : common.h
    
    clean : 
        rm  init 
        rm  receiver
        rm  sender 
        rm  *.o
    

    效果演示、

    makefile_show_02.gif

    相关文章

      网友评论

          本文标题:makefile 同时生成多个可执行文件

          本文链接:https://www.haomeiwen.com/subject/tqtblttx.html