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

Android车机DIY开发之学习篇(七)NDK交叉工具构建

Android车机DIY开发之学习篇(七)NDK交叉工具构建

1.ubuntu安装GCC

sudo apt-get update
sudo apt-get install gcc g++
sudo gcc --version
sudo g++ --version

2.测试GCC

VSCODE中新建Hello.c编译
#include <stdio.h>
int main(void)
{
printf(“Hello, this is a program compiled by ndk-cross-compiler!\n”);
}

alientek@alientek:~/VSCODESOURCE$ gcc Hello.c -o hello
alientek@alientek:~/VSCODESOURCE$ ./hello
Hello, this is a program compiled by ndk-cross-compiler!
alientek@alientek:~/VSCODESOURCE$

此程序无法应用到ARM开发板上

3.安装android-ndk-r17c交叉编译工具,使可以运行到android系统上

ndk官方下载地址

下载后解压文件进入build/tools执行以下命令
./make-standalone-toolchain.sh --install-dir=/tmp/my-android-toolchain/ --toolchain=aarch64-linux-android

在Bashrc中增加
export PATH=$PATH:/tmp/my-android-toolchain/bin
export CC=“aarch64-linux-android-gcc”
export CXX=“aarch64-linux-android-g++”

使生效
source ~/.bashrc

4. 编译测试

aarch64-linux-android-gcc Hello.c -o hello

file *
hello: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /system/bin/linker64, not stripped

相关文章:

Android车机DIY开发之学习篇(七)NDK交叉工具构建

Android车机DIY开发之学习篇(七)NDK交叉工具构建 1.ubuntu安装GCC sudo apt-get update sudo apt-get install gcc g sudo gcc --version sudo g --version 2.测试GCC VSCODE中新建Hello.c编译 #include <stdio.h> int main(void) { printf(“Hello, this is a progr…...

【初/高中生讲机器学习】0. 本专栏 “食用” 指南——写在一周年之际⭐

创建时间&#xff1a;2025-01-27 首发时间&#xff1a;2025-01-29 最后编辑时间&#xff1a;2025-01-29 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名高一学生&#xff0c;热爱计…...

虚幻基础11:坐标计算旋转计算

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 坐标line startget actor rotationget forward vector 旋转计算 坐标 ue中通常使用向量计算坐标。 line start 起始坐标点。 get actor rotation 获取旋转值&#xff1a; 当前角色朝向 get forward vector 获…...

Rust:Rhai脚本编程示例

当然&#xff0c;以下是一个简单的Rhai脚本编程示例&#xff0c;展示了如何在Rust中使用Rhai执行脚本。 首先&#xff0c;你需要确保你的Rust项目中包含了rhai库。你可以在你的Cargo.toml文件中添加以下依赖项&#xff1a; [dependencies] rhai "0.19" # 请检查最…...

关于el-table翻页后序号列递增的组件封装

需求说明&#xff1a; 项目中经常会用到的一个场景&#xff0c;表格第一列显示序号&#xff08;1、2、3...&#xff09;&#xff0c;但是在翻页后要递增显示序号&#xff0c;例如10、11、12&#xff08;假设一页显示10条数据&#xff09;&#xff0c;针对这种情况&#xff0c;封…...

【深度学习】softmax回归

softmax回归 回归可以用于预测多少的问题。 比如预测房屋被售出价格&#xff0c;或者棒球队可能获得的胜场数&#xff0c;又或者患者住院的天数。 事实上&#xff0c;我们也对分类问题感兴趣&#xff1a;不是问“多少”&#xff0c;而是问“哪一个”&#xff1a; 某个电子邮…...

设计模式-建造者模式、原型模式

目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离&#xff0c;使同样的构建过程可以创建不同的表示&#xff0c;…...

【Redis】List 类型的介绍和常用命令

1. 介绍 Redis 中的 list 相当于顺序表&#xff0c;并且内部更接近于“双端队列”&#xff0c;所以也支持头插和尾插的操作&#xff0c;可以当做队列或者栈来使用&#xff0c;同时也存在下标的概念&#xff0c;不过和 Java 中的下标不同&#xff0c;Redis 支持负数下标&#x…...

三个不推荐使用的线程池

线程池的种类 其实看似这么多的线程池&#xff0c;都离不开ThreadPoolExecutor去创建&#xff0c;只不过他们是简化一些参数 newFixedThreadPool 里面全是核心线程 有资源耗尽的风险&#xff0c;任务队列最大长度为Integer.MAX_VALUE&#xff0c;可能会堆积大量的请求&#xff…...

mybatis(78/134)

前天学了很多&#xff0c;关于java的反射机制&#xff0c;其实跳过了new对象&#xff0c;然后底层生成了字节码&#xff0c;创建了对应的编码。手搓了一遍源码&#xff0c;还是比较复杂的。 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE …...

Progressive Pretext Task Learning for Human Trajectory Prediction | 文献翻译

祥龙回首留胜景&#xff0c;金蛇起舞贺新程。 概述 行人轨迹预测是一项旨在预测行人未来位置的任务&#xff0c;它通常涵盖了从短期到长期的整个时间范围内的轨迹。然而&#xff0c;现有的研究试图通过单一、统一的训练范式来解决整个轨迹预测问题&#xff0c;往往忽视了行人轨…...

54.数字翻译成字符串的可能性|Marscode AI刷题

1.题目 问题描述 小M获得了一个任务&#xff0c;需要将数字翻译成字符串。翻译规则是&#xff1a;0对应"a"&#xff0c;1对应"b"&#xff0c;依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…...

【数据结构】_链表经典算法OJ(力扣版)

目录 1. 移除链表元素 1.1 题目描述及链接 1.2 解题思路 1.3 程序 2. 反转链表 2.1 题目描述及链接 2.2 解题思路 2.3 程序 3. 链表的中间结点 3.1 题目描述及链接 3.2 解题思路 3.3 程序 1. 移除链表元素 1.1 题目描述及链接 原题链接&#xff1a;203. 移除链表…...

【Linux】统计文本中每行指定位置出现的字符串的次数

统计文本中每行指定位置出现的字符串的次数 假定情景 某些项目&#xff0c;会把某个特定事件记录到Log中并且落盘&#xff08;保持到硬盘&#xff09;。基于落盘后的日志&#xff0c;要统计这些日志里产生该特定事件的次数 统计脚本 可以写一个sh脚本&#xff0c;来解析某个…...

【赵渝强老师】K8s中Pod探针的ExecAction

在K8s集群中&#xff0c;当Pod处于运行状态时&#xff0c;kubelet通过使用探针&#xff08;Probe&#xff09;对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针&#xff0c;分别是&#xff1a;livenessProbe&#xff08;存活探针&#xff09;、readinessProbe&#…...

商品信息管理自动化测试

目录 前言 一、思维导图 二、代码编写 1.在pom.xml文件中添加相关依赖 2.自动化代码编写 三、代码测试 小结 前言 1. 针对商品信息管理项目进行测试&#xff0c;商品信息管理项目主要有商品列表页、部门列表页、员工列表页&#xff0c;主要功能&#xff1a;对商品信息的…...

Redis实战(黑马点评)——redis存储地理信息、位图、HyperLogLog 用法

Redis存储geo数据类型基本介绍 geo 就是 geolocation 的简写形式&#xff0c;代表地理坐标。redis 在 3.2 版本中加入了对 geo 的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; geoadd&#xff1a;添加一个地理空…...

判断1到100之间有多少个素数,并输出所有的素数。

def is_prime(num): #判断一个数是否素数if num<1:return False #因为1和负数都不是素数for i in range(2,int(num**0.5)1): #从2开始到根号num的整数结束&#xff0c;因为一个数num不是素数&#xff0c;那么把必定有一个小于或等于根号num的因素if num%i0:return False #如…...

JAVA:利用 Content Negotiation 实现多样式响应格式的技术指南

1、简述 Content Negotiation&#xff08;内容协商&#xff09; 是 RESTful 服务的重要特性&#xff0c;允许客户端和服务器根据请求的不同特性动态选择适合的响应格式。它是一种在 HTTP 协议中实现的机制&#xff0c;通过它&#xff0c;服务器能够根据客户端需求返回适合的内…...

layui Table单元格编辑支持Enter键换行,包括下拉框单元格

layui Table表格编辑支持Enter键换行 可编辑单元格 $(".layui-table td").keydown(function (e) {// console.log("111",e);var index $(this).index(),tr $(this).parent(tr),isKeydown (event.type "keydown");if (e.code "Enter&q…...

青岛X射线探伤机服务好的供应商

在工业检测领域&#xff0c;X射线探伤机并非一次性采购的设备——它需要持续的技术支持、稳定的运行保障&#xff0c;以及服务商在关键时刻的响应能力。选择一家服务好的供应商&#xff0c;往往比选择一台设备本身更需要慎重。在青岛&#xff0c;有一家名为华誉机电设备有限公司…...

Allegro铺铜避坑指南:从十字花焊盘到孤铜删除,新手必知的10个实用技巧

Allegro铺铜避坑指南&#xff1a;从十字花焊盘到孤铜删除&#xff0c;新手必知的10个实用技巧 第一次在Allegro中铺铜时&#xff0c;那种手足无措的感觉我至今记忆犹新。面对密密麻麻的参数选项和看似简单的操作背后隐藏的各种"坑"&#xff0c;即使是完成了布局布线的…...

别再死记硬背参数了!用Amesim HCD库手把手教你搭建一个真实的溢流阀模型(附避坑指南)

从物理本质出发&#xff1a;用Amesim HCD库构建高保真溢流阀模型的实践指南 液压系统工程师常常陷入一个困境&#xff1a;软件操作熟练&#xff0c;参数设置却总凭感觉&#xff1b;仿真结果看似合理&#xff0c;却与物理直觉相悖。这种"黑箱式"建模不仅限制了问题排…...

从几何视角解析单层感知机:超平面、分类与学习算法

1. 单层感知机&#xff1a;从几何空间看分类本质 第一次接触单层感知机时&#xff0c;很多人会被各种数学符号绕晕。其实换个角度看&#xff0c;它就是个拿着尺子在高维空间里画分界线的工具。想象你面前有一堆红蓝两色的气球&#xff0c;单层感知机要做的&#xff0c;就是找到…...

为什么OpenVSP是航空航天工程师的“参数化建模瑞士军刀“?5个实战场景深度解析

为什么OpenVSP是航空航天工程师的"参数化建模瑞士军刀"&#xff1f;5个实战场景深度解析 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP 在飞机设计领域&#xff0c;传统CAD软件的复杂…...

ARM CoreSight ROM Tables解析与调试实践

1. ARM CoreSight ROM Tables基础解析在嵌入式调试领域&#xff0c;ARM CoreSight架构提供了一套完整的调试与追踪解决方案。作为该架构的关键组成部分&#xff0c;ROM Tables扮演着系统调试资源的"目录"角色。想象一下走进一个巨大的图书馆&#xff0c;ROM Tables就…...

告别手动填坑:用SSC工具+Excel快速搞定LAN9252 EtherCAT从站XML配置(附64点IO实例)

高效配置LAN9252 EtherCAT从站的自动化工具链实践 在嵌入式工业通信领域&#xff0c;EtherCAT因其卓越的实时性能被广泛采用&#xff0c;而LAN9252作为高性价比的从站控制器芯片&#xff0c;配合SPI接口成为许多开发者的首选方案。然而传统XML配置流程的复杂性往往成为项目瓶颈…...

EASY-HWID-SPOOFER:保护数字身份的Windows硬件伪装利器

EASY-HWID-SPOOFER&#xff1a;保护数字身份的Windows硬件伪装利器 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER 在数字世界中&#xff0c;您的硬件设备就像指纹一样独一无二。操…...

深入理解C/C++混合编程

在工作中&#xff0c;C、C密不可分&#xff0c;做我们嵌入式方面的&#xff0c;当然更多的是C&#xff0c;但&#xff0c;有时候却少不了C&#xff0c;而且是C、C混搭&#xff08;混合编程&#xff09;在一起的&#xff0c;比如&#xff0c;RTP视频传输&#xff0c;live555多媒…...

Keil MDK Debug 命令行常用命令

适用&#xff1a;Keil MDK-ARM (uVision5)&#xff0c;进入 Debug 模式后&#xff0c;下方的 Command 窗口或 View → Command Window 打开。一、断点管理 (BKPT / BS / BL) 硬件断点 (Breakpoint Set) BS <func> ; 在函数入口设断点 BS <func&…...