当前位置: 首页 > news >正文

嵌入式面试5 -makefile shell

====
2、 如果有一个简单的helloworld项目目录如下:

tree helloworld

helloworld
|– file2.h
|– file1.cpp
|– file2.cpp
请编写一个Makefile文件。
答:
TARGET = helloworld
CXX = g++
COMPILE := $(COMPILE) file1.cpp
COMPILE := $(COMPILE) file2.cpp
OBJECTS := ( f o r e a c h v a r , (foreach var, (foreachvar,(COMPILE), $(var:.cpp=.o))

.PHONY default clean
default: $(TARGET)
( T A R G E T ) : (TARGET): (TARGET):(OBJECTS)
$(CXX) -o $(TARGET) $(OBJECTS)
%.o:%.cpp
$(CXX) -c $<
clean:
@rm -rf $(OBJECTS) $(TARGET)

讲解1:
foo := a.o b.o c.o // 在变量后追加值
bar := ( f o o : . o = . c ) 这个示例中,我们先定义了一个“ (foo:.o=.c) 这个示例中,我们先定义了一个“ (foo:.o=.c)这个示例中,我们先定义了一个(foo)”变量,而第二行的意思是把“ ( f o o ) ”中所有以“ . o ”字串“结尾”全部替换成“ . c ”,所以我们的“ (foo)”中所有以“.o”字串“结尾”全部替换成“.c”,所以我们的“ (foo)中所有以“.o字串结尾全部替换成“.c,所以我们的(bar)”的值就是“a.c b.c c.c”。
讲解2:
< ”表示所有的依赖目标集(也就是“ f i l e 1. c p p f i l e 2. c p p ”),“ <”表示所有的依赖目标集(也就是“file1.cpp file2.cpp”),“ <表示所有的依赖目标集(也就是file1.cppfile2.cpp),@”表示目标集(也就是file1.o file2.o”)
讲解3:
$(foreach ,, )
这个函数的意思是,把参数;中的单词逐一取出放到参数 ;所指定的变量中,然后再执行< text>;所包含的表达式。每一次 ;会返回一个字符串,循环过程中, ;的所返回的每个字符串会以空格分隔,最后当整个循环结束时, ;所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。

或者简单点的:
helloworld: file1.o file2.o
g++ -o helloworld file1.o file2.o
file1.o:file1.cpp
g++ -c file1.cpp
file2.o:file2.cpp file2.h
g++ -c file2.cpp
clean:
rm file1.o file2.o helleworld
权重:中

====
12.在Linux系统中, 哪个文件你可以存储用于创建用户目录的系统用户默认文件?(D)
A./usr/tmp
B./etc/default
C./etc/skel
D./etc/users
权重:中

====
Linux默认的可执行bin文件路径是什么
答:/bin, /usr/bin
权重:中

====
Linux默认的库文件路径是什么
答:/lib, /usr/lib
权重:中

====
Linux的启动脚本一般在哪里
答:rc.d、etc/profile等
权重:中

====
21.Linux执行ls,会引起哪些系统调用(BCD)【多选】
A nmap
B read
C execve
D fork
解析:任何shell都会执行 exec 和 fork,而ls会执行read三个加起来
权重:较低

====
6、GCC -g -o test.elf test.c的具体含义.
答:将当前目录下test.c编译成带GDB调试功能的应用程序test.elf。注意,其中应用到了gcc的隐藏规则,本来应该是两步:GCC -o test.elf test.o GCC -c test.c,但是直接用-o test.c的时候gcc会自动推导。-g选项嵌入式应该掌握,-g后程序崩溃后生成的core文件在GDB下可以看到更多的信息,也可以配合GDB在运行时单步执行,设置断点什么的。
权重:中

===
用gcc将test.c编译成一个可执行文件test
答:gcc -o test test.c
权重:中

====
1、一些Linux命令:显示文件、拷贝文件、移动文件、删除文件。
答:显示文件ls,显示隐藏文件ls -a,显示文件详细信息ls -l;
拷贝文件cp source_name dest_name,强制复制文件和目录cp -rf source_name dest_name;移动文件mv source_name dest_name;删除文件rm file_name。
权重:高

====
4、LINUX下查看进程的命令?查看系统资源使用情况的命令?netstat是作什么用的?
答:linux下查看进程的命令,ps命令
使用free-m命令
Netstat命令是查看网络连接的详细状态的命令
权重:较高

====
Linux查看进程信息的命令
答:top
权重:较高

====
Linux搜索文件内容和文件名的命令
答:grep -rn 文件内容
find . 文件名
或者在匹配文件名的文件中查找文件内容
find . filename | xargs grep -rn filecontent
权重:中

====
描述*在查找和正则表达式中的含义
答:表示0个或多个任意字符
权重:中

====
6、解释命令ls -a | more具体含义.
答:分页显示当前目录下包含隐藏文件在内的所有文件。
权重:中

相关文章:

嵌入式面试5 -makefile shell

2、 如果有一个简单的helloworld项目目录如下&#xff1a; tree helloworld helloworld |– file2.h |– file1.cpp |– file2.cpp 请编写一个Makefile文件。 答&#xff1a; TARGET helloworld CXX g COMPILE : $(COMPILE) file1.cpp COMPILE : $(COMPILE) file2.cpp OBJE…...

获40余家主机厂青睐,这家OTA「吸金王」完成超亿元B2轮融资!

继今年4月获得上汽集团旗下尚颀资本及其合作方山高投控的投资后&#xff0c;近日上海艾拉比智能科技有限公司&#xff08;以下简称“艾拉比”&#xff09;正式完成总额过亿元的B2轮融资&#xff0c;新的投资方为聚卓资本、老股东国科新能继续增持&#xff0c;势能资本持续担任独…...

CGI, FastCGI, WSGI, uWSGI, uwsgi分别是什么?

CGI 1、通用网关接口&#xff08;Common Gateway Interface/CGI&#xff09;,CGI描述了服务器&#xff08;nginx,apache&#xff09;和请求处理程序&#xff08;django,flask,springboot web框架&#xff09;之间传输数据的一种标准. 2.所有bs架构软件都是遵循CGI协议的 3.一…...

Android T 窗口层级相关的类(更新中)

窗口在App端是以PhoneWindow的形式存在&#xff0c;承载了一个Activity的View层级结构。这里我们探讨一下WMS端窗口的形式。 可以通过adb shell dumpsys activity containers 来看窗口显示的层级 窗口容器类 —— WindowContainer类 /*** Defines common functionality for c…...

【云原生】深入掌握k8s中Pod和生命周期

个人主页&#xff1a;征服bug-CSDN博客 kubernetes专栏&#xff1a;kubernetes_征服bug的博客-CSDN博客 目录 1 什么是 Pod 2 Pod 基本操作 3 Pod 运行多个容器 4 Pod 的 Labels(标签) 5 Pod 的生命周期 1 什么是 Pod 摘取官网: Pod | Kubernetes 1.1 简介 Pod 是可以在 …...

openKylin+KingbaseES+Nginx安装

openKylin开放麒麟开启ssh 一、查看ssh服务是否开启。 终端输入命令&#xff1a;sudo ps -e |grep ssh &#xff0c;只显示如下内容则证明未安装ssh服务。 2127 ? 00:00:00 ssh-agent若显示如下内容则证明ssh服务已开启。 1657 ? 00:00:00 ssh-agent 2349 ?…...

lc1.两数之和

暴力解法&#xff1a;两个for循环&#xff0c;寻找和为target的两个数的索引 时间复杂度&#xff1a;O(n2) 空间复杂度&#xff1a;O(1) 哈希表&#xff1a;遍历数组&#xff0c;将nums数组的数和索引分别存储在map的key和value中&#xff0c;一边遍历&#xff0c;一边寻找是…...

c# 初始化列表,并给列表里面所有的元素进行初始化

Enumerable.Repeat 方法是用于生成一个包含指定元素重复若干次的序列。它接受两个参数&#xff0c;第一个参数是要重复的元素&#xff0c;第二个参数是重复次数。 下面是 Enumerable.Repeat 方法的用法和示例&#xff1a; using System; using System.Collections.Generic; u…...

Java笔记(三十):MySQL(上)-- 数据库、MySQL常用数据类型、DDL、DML、多表设计

一、数据库 0、MySQL安装&#xff0c;IDEA配置MySQL 用MySQL installer for windows&#xff08;msi&#xff09;MySQL默认安装位置&#xff1a;C:\Program Files\MySQL\MySQL Server 8.0配置环境变量使用前先确保启动了mysql服务my.ini位置&#xff1a;C:\ProgramData\MySQL…...

SQL笔记-正态分布函数(二)

在Oracle数据库中&#xff0c;并没有直接提供计算正态分布函数&#xff08;累积分布函数&#xff09;的内置函数。不过&#xff0c;你可以使用PL/SQL编程语言来实现一个自定义的正态分布函数。下面是一个简单的示例&#xff1a; CREATE OR REPLACE FUNCTION normdist(x NUMBER…...

【LeetCode】数据结构题解(12)[用栈实现队列]

用栈实现队列 &#x1f609; 1.题目来源&#x1f440;2.题目描述&#x1f914;3.解题思路&#x1f973;4.代码展示 所属专栏&#xff1a;玩转数据结构题型❤️ &#x1f680; >博主首页&#xff1a;初阳785❤️ &#x1f680; >代码托管&#xff1a;chuyang785❤️ &…...

嵌入式Linux下LVGL的移植与配置

一.sdk源码下载路径 1.官方源码下载路径如下: ​​​​​​ https://github.com/lvgl/lvgl git下载方式 git clone https://github.com/lvgl/lvgl.git 2.个人移植好的源码8.2版本下载路径: 链接&#xff1a;https://pan.baidu.com/s/1jyqIennsQpv-RB4RyKvZyg?pwdc68e 提取…...

leetcode每日一练-第70题-爬楼梯

一、思路 动态规划 二、解题方法 使用一个动态规划数组 dp 来记录到达每个台阶的不同方法数。初始情况下&#xff0c;当台阶数为 1 时&#xff0c;方法数为 1&#xff0c;当台阶数为 2 时&#xff0c;方法数为 2。然后&#xff0c;我们从第 3 阶开始逐步计算每一阶的方法数&…...

设备使用RTMP推流到安防监控EasyCVR视频汇聚平台,为何只有FLV格式无法播放?

TSINGSEE青犀视频安防监控视频汇聚平台EasyCVR基于云边端一体化架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等功能。 智能视频监控平台EasyCVR可…...

arcgis宗地或者地块四至权利人信息提取教程

ARCGIS怎样将图斑四邻的名称及方位加入其属性表 以前曾发表过一篇《 如何把相邻图斑的属性添加在某个字段中》的个人心得,有些会员提出了进一步的要求,不但要相邻图斑的名称,还要求有方位,下面讲一下自己的做法。 基本思路是:连接相邻图斑质心,根据连线的角度确定相邻图斑…...

乐鑫首创|使用 ESP RainMaker® 私有云定制 Matter 生态

ESP RainMaker 是乐鑫的 AIoT 云平台&#xff0c;支持客户自主部署私有物联网云&#xff0c;从而全面掌握数据所有权和管理权&#xff0c;实现定制功能与服务。ESP RainMaker 云后端采用 AWS 无服务器架构&#xff0c;拥有开源的 iOS 和 Android 移动端 APP、第三方语音助手集成…...

【算法|数组】快慢指针

算法|数组——快慢指针 引入 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你…...

C++字符串:使用 std::string

C字符串&#xff1a;使用 std::string 初始化方法一 std::string 变量名称 { “字符串”}&#xff1b; std::string str { " 这是一个字符串" }&#xff1b;std::cout << str; std::cin >> str;初始化方法二 std::string 变量名称 { “字符串”&#x…...

目前Java后端就业前景怎么样?

前言 并不乐观&#xff0c;看看现在的就业形式就知道了&#xff0c;基本上是僧多粥少的情况&#xff0c;你可能会看到很多编程语言排行榜或者流行榜中Java的排名很高&#xff0c;如同下面这种&#xff1a; 看排名确实可以粗略的得知语言当下的流行度、使用率&#xff0c;但是它…...

C语言基础(持续更新)

常用函数 strrchr 描述 C 库函数 char *strrchr(const char *str, int c) 在参数 str 所指向的字符串中搜索最后一次出现字符 c&#xff08;一个无符号字符&#xff09;的位置。测试代码 #include "stdio.h" #include "string.h"int main() {printf(&q…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档&#xff1f;从规划到实践的完整指南 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

MLP实战二:MLP 实现图像数字多分类

任务 实战&#xff08;二&#xff09;&#xff1a;MLP 实现图像多分类 基于 mnist 数据集&#xff0c;建立 mlp 模型&#xff0c;实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入&#xff0c;可视化图形数字&#xff1b; 2、完成数据预处理&#xff1a;图像数据维度转换与…...

华为云Flexus+DeepSeek征文 | MaaS平台避坑指南:DeepSeek商用服务开通与成本控制

作者简介 我是摘星&#xff0c;一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型&#xff0c;将实际使用经验分享给大家&#xff0c;希望能帮助开发者快速掌握华为云AI服务的核心能力。 目录 作者简介 前言 一、技术架构概览 1.1 整体架构设…...

Go爬虫开发学习记录

Go爬虫开发学习记录 基础篇&#xff1a;使用net/http库 Go的标准库net/http提供了完善的HTTP客户端功能&#xff0c;是构建爬虫的基石&#xff1a; package mainimport ("fmt""io""net/http" )func fetchPage(url string) string {// 创建自定…...