Linux应用开发笔记(一)交叉编译及执行
文章目录
一、GCC编译器
1. 什么是GCC
GCC(GNU Compiler Collection)是一个开源的编译器集合,包含C、C++、Objective-C、Fortran、Java、Ada和Go语言的编译器。它原本是GNU项目的编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器。GCC的初衷是为GNU操作系统专门编写的一款编译器。
2. 安装GCC
- 在虚拟机中更新一下apt,输入以下命令:
sudo apt update
- 安装交叉编译器和vim编辑器:
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu vim
- 安装完成之后可以输入以下命令验证gcc、g++和vim的安装是否成功:
aarch64-linux-gnu-gcc --version
vim --version
3.交叉编译
这里可以使用SSH使得虚拟机和VScode互联,从而直接编辑程序放到虚拟机的文件夹里,详细可以看:
https://blog.csdn.net/qq_62464995/article/details/131029280
程序就举最简单的hello world吧,接着寻找所创建的文件的目录,可以看到这里有.c文件
可以看到这里存在hello.c文件,接着进行编译:
sudo aarch64-linux-gnu-gcc hello.c
此时可以看到目录下产生了一个a.out文件,只需要将其传到开发板即可编译。值得一提的是,由于虚拟机并不是arm64框架,所以不能执行。
传输结束后,再输入:
sudo ./a.out
这样就可以执行编译好的代码了,如果不能成功编译,可能是没有赋予权限,这个时候需要输入:
sudo chmod 777 a.out
接下来就可以正常读取了。
二、ssh的使用
1. 连入局域网
这里主要有两种方式:WIFI和USB。
USB:https://lceda001.feishu.cn/docx/YJjodkE1HoubsbxrfuwcXAGLn3e
WIFI:
//先查看附件WiFi信息
nmcli device wifi list
// 找到自己的wifi之后连接,输入时不带[]
nmcli device wifi connect [wifi名称] password [wifi密码]
2. 连接SSH
//先习惯性更新一下
apt-get update
//安装ssh
sudo apt-get install openssh-client
sudo apt-get install openssh-server
//启动ssh
/etc/init.d/ssh start
//修改配置,输入i进入编辑模式,然后将#PermitRootLogin without-password改为PermitRootLogin yes
vim /etc/ssh/sshd_config
//重启并连接
/etc/init.d/ssh restart
连接之后,通过软件移动即可,如下所示: