makefile第七讲

news2024/11/25 1:12:18

更多精彩内容在公众号。

当make执行完后,我们期望将最终的可执行文件安装到系统目录下,这样在不同的目录下都可以执行编译的可执行文件,相当于做成了个命令。这个就需要用到make install。

源文件如下:用于判断系统是小端还是大端

#include <arpa/inet.h>
#include <stdio.h>
 
 
 
 
void big_little_endian()
{
    union{
        short s;
        char c[sizeof(short)];
    }un;
    un.s=0x0102;
    if(sizeof(short) == 2)
    {
        if(un.c[0] == 1 && un.c[1] == 2)
            printf("big_endian\n");
        else if(un.c[0] == 2 && un.c[1] ==1)
            printf("little_endian\n");
        else
        {
            printf("unknown\n");
        }
         
    }
}
 
 
void main()
{
    big_little_endian();
}

makefile文件:

subdir:=.

srcfile:=$(foreach dir,$(subdir),$(wildcard $(dir)/*.c))

dir=$(notdir $(srcfile))

objfile=$(patsubst %.c, %.o, $(dir))

targetfile=net_work

cc=gcc

FLAGS=$(addprefix -l,pthread)

prefix = /usr/local

exec_prefix = $(prefix)

bindir = $(exec_prefix)/bin

$(targetfile): $(objfile)

  echo $@

  echo $>

  $(cc) -o $@ $^ $(FLAGS)

$(objfile):$(srcfile)

  echo $>

  $(cc) -c $^

clean:

  rm *.o $(targetfile)

install:

  install -d $(bindir)

  install -m 0755 net_work $(bindir)

uninstall:

  rm $(bindir)/net_work

执行make然后执行make install提示如下错误,这是因为usr/local/bin需要root权限

install -d /usr/local/bin
install -m 0755 net_work /usr/local/bin
install: cannot stat 'net_work': No such file or directory
Makefile:38: recipe for target 'install' failed
make: *** [install] Error 1

加上sudo后执行成功

sudo make install

install -d /usr/local/bin
install -m 0755 net_work /usr/local/bin

更多精彩内容在公众号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode86_分隔链表

1.leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.题目描述 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的…

提升法律文书起草效率:AlphaGPT 助力律师快速生成诉讼和仲裁文件

法律文书起草对于法律专业人士而言是一项基础而关键的任务。无论是民事、刑事还是行政诉讼&#xff0c;以及仲裁案件&#xff0c;精确的法律文书撰写对于案件的成功至关重要。然而&#xff0c;这一过程往往既耗时又复杂&#xff0c;尤其是在处理复杂的案情和面对当事人难以理解…

ssm057学生公寓管理中心系统的设计与实现+jsp

学生公寓管理中心系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本学生公寓管理中心系统就是在这样的大环境下诞生&#xff0c;其可以帮助管…

MyBaties-plus 小蓝鸟 构造器 QueryWrapper 知识学习汇总

一、QueryWrapper是什么&#xff1f; QueryWrapper 是 mybatis-plus 条件构造器 https://mp.baomidou.com 小蓝鸟官方网址 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做…

Jmeter03:直连数据库

1 Jmete组件&#xff1a;直连数据库 1.1 是什么&#xff1f; 让Jmeter直接和数据库交互 1.2 为什么&#xff1f; 之前是通过接口操作数据库&#xff0c;可能出现的问题&#xff1a;比如查询可能有漏查误查的情况&#xff0c;解决方案是人工对不&#xff0c;效率低且有安全隐患…

【Python基础】异常

文章目录 [toc]什么是异常异常处理try...except...语句格式示例不使用异常处理时使用异常处理时 抛出异常示例 else语句格式示例 finally语句格式示例finally语句的作用 自定义异常类示例 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python基础 学习指南&#xff1a;Py…

论文复现---MUTANT

Robust anomaly detection for multivariate time series through temporal GCNs and attention-based VAE 基于时序神经网络和基于注意力的VAE的多变量时间序列鲁棒异常检测 https://github.com/Coac-syf/MUTANT * numpy1.21.2* torch1.9.1* scipy1.7.1* scikit-learn0.24.2*…

海信发布《黑神话:悟空》定制电视E8N新品,重塑大屏游戏体验

4月17日&#xff0c;在“AI美好生活”2024海信电视E8系列新品发布会上&#xff0c;海信电视官宣成为《黑神话&#xff1a;悟空》全球官方合作伙伴。同时&#xff0c;海信电视还为广大游戏玩家带来了《黑神话&#xff1a;悟空》的显示CP&#xff0c;推出了官方定制电视——旗舰新…

ModuleNotFoundError: No module named ‘scripts.animatediff_mm‘ 解决方案

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 大家好,我是水滴~~ 本文主要介绍在使用 Stable Diffusion WebUI 安装 AnimateDiff 插件后出现的ModuleNotFoundError: No module named scripts.animatediff_mm异常的解决方案,希望…

Linux小知识:xargs命令的使用与技巧

在Linux系统中&#xff0c;命令行工具是用户与系统进行交互的重要桥梁。其中&#xff0c;xargs命令是一个非常实用的工具&#xff0c;它能够将标准输入的数据转换为命令行参数&#xff0c;从而方便用户对数据进行批量处理。今天&#xff0c;我们就来详细了解一下xargs命令的使用…

claude国内不能用

AnthropicAI 公司旗下的Claude 3 大型语言模型&#xff0c;以其卓越的性能直接挑战了GPT-4的市场地位。Claude 3 系列中包含了几个不同版本&#xff0c;如Claude 3 Opus、Claude 3 Sonnet 以及 Claude 3 Haiku&#xff0c;每个版本都针对特定的应用场景进行了优化。 在这些版本…

微信小程序的支付功能,纯前端步骤,超级详细

1、首先在微信开放平台&#xff0c;申请移动应用并开通支付功能&#xff0c;申请应用后可以获取 AppID 和 AppSecret 值 2、在前端项目中的配置参数中打开支付功能 步骤&#xff1a;项目的根目录下有个manifest.json文件&#xff0c;打开并在左侧目录找到APP SDK配置&#xf…

Kafka 的这 6 个场景会丢失消息

一、概述 今天来聊一聊我们使用 Kafka 的时候&#xff0c;怎样能保证不丢失消息呢的话题。首先我们看一下 Kafka 的架构图&#xff1a; 二、异步发送 Producer 异步发送是丢失消息比较多的场景&#xff0c;Kafka 异步发送的代码如下&#xff1a; ProducerRecord<byte[]…

HTML5+CSS3小实例:菜单按钮的三种切换动画

实例:菜单按钮的三种切换动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initia…

机器视觉系统:电容表面瑕疵缺陷检测的精准“守望者”

在电子行业中&#xff0c;电容器作为关键元件&#xff0c;其质量和性能对于整个产品的稳定性和可靠性至关重要。电容器的表面质量直接影响其性能和寿命&#xff0c;因此&#xff0c;对电容表面瑕疵缺陷的精确检测显得尤为重要。近年来&#xff0c;随着机器视觉技术的飞速发展&a…

2024年【焊工(初级)】考试题及焊工(初级)报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 焊工&#xff08;初级&#xff09;考试题考前必练&#xff01;安全生产模拟考试一点通每个月更新焊工&#xff08;初级&#xff09;报名考试题目及答案&#xff01;多做几遍&#xff0c;其实通过焊工&#xff08;初级…

营销枢纽云打造可持续的客户关系管理:从销售驱动到公司数字资产增值

激烈的市场竞争中&#xff0c;销售驱动的企业往往更依赖关系型销售人员来获取和维护客户资源。但是&#xff0c;随着人才流动性的增强&#xff0c;确保这些客户数据资产不会随销售的个人离职而流失&#xff0c;是现阶段企业所面临的一大挑战。那么&#xff0c;我们如何将销售团…

错过后悔的三大热门婴儿洗衣机总结,希亦、RUUFFY、觉飞谁更值得?

如果将宝宝衣物和大人的衣服一起放进到家用的普通洗衣机里面一起清洗的话&#xff0c;会让宝宝的衣物会沾染上大人身上的各种有害的细菌&#xff0c;而且宝宝的洗涤剂和大人的一般都不同&#xff0c;一般都要用更温和的洗涤剂&#xff0c;和大人用一样的洗涤剂放洗衣机里面搅&a…

word批量修改表格样式

利用宏&#xff0c;批量选中表格&#xff0c;然后利用段落和表设计来操作。 利用宏&#xff0c;批量选中表格&#xff0c;参考百度安全验证段落&#xff0c;表格里面的内容有空格&#xff0c;应该是有缩进&#xff0c;在段落中去掉缩进&#xff0c;即缩进-特殊&#xff0c;选择…

[C++][算法基础]最大公约数(欧几里得算法)

给定 n 对正整数 ,&#xff0c;请你求出每对数的最大公约数。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个整数对 ,。 输出格式 输出共 n 行&#xff0c;每行输出一个整数对的最大公约数。 数据范围 1≤n≤, 1≤,≤2 输入样例&#xff1a; 2 3 …