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

Linux-编译器

编译器

GCC编译 gcc-o hello.o hello.c 交叉编译器编译 arm-linux-gnueabihf-gcc-o hello hello.c

编译过程:预处理,编译,汇编,链接

-E:预处理-S:汇编-c:编译-i-L:链接-o file:指定输出文件 hello.c->hello.i hello.i->hello.s hello.s->hello.o hello.o->hello(a.out)gcc-E hello.c-o hello.i gcc-S hello.i gcc-c hello.s gcc hello.o

头文件包含

#include <head.h> //预处理器搜索系统预设目录 #include "head.h" //预处理器搜索目标文件目录,然后再搜索系统预设目录。

链接库文件

gcc hello.c libFOO.a //链接静态库 gcc hello.c libFOO.so //链接动态库 gcc hello.c -L /home/vmuser/hello //-L 指定库文件路径 gcc hello.c -L /home/vmuser/hello -lFOO //-L 指定库文件路径 -l指定库文件

编译器:用于在本机上编译可在本机运行的应用

gcc-arm-linux-gnueabihf

gcc-arm-linux-gnueabihf 是一个针对 ARM 架构 Linux 系统的交叉编译工具链,它包括了 C、C++、Objective-C 和 Fortran 编译器以及一些辅助工具,用于将源代码编译成可在 ARM 架构的 Linux 系统上运行的二进制程序。

arm架构电脑或开发板下载安装编译

sudo apt install gcc-arm-linux-gnueabihf arm-linux-gnueabihf-gcc hello.c -o hello

交叉编译器:用于在本机上编译可在其他架构机器运行的应用

gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf

gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 是一个工具链的名称,用于交叉编译 ARM 架构的软件。让我为你逐个解释这个名称中的各部分: gcc-linaro-7.5.0-2019.12: 这是 GNU Compiler Collection (GCC) 的一个版本。 GCC 是一个开源的编译器集合,用于编译多种编程语言,包括 C、C++ 和其他语言。7.5.0-2019.12 表示 GCC 的版本号和发布日期。 x86_64: 这表示目标平台的体系结构,即 64 位 x86 架构。x86_64 是当前主流的 PC 和服务器体系结构之一。 aarch64-elf: 这是用于 ARM 64 位体系结构 (AArch64) 的裸机编程(不依赖操作系统)的工具链标识符。 aarch64-linux-gnu: 这是用于 AArch64 架构上运行 Linux 操作系统的工具链标识符。 aarch64_be-elf: 这是用于大端模式的 AArch64 体系结构的裸机编程的工具链标识符。 aarch64_be-linux-gnu: 这是用于大端模式的 AArch64 架构上运行 Linux 操作系统的工具链标识符。 arm-eabi: 这是用于 ARM 架构的裸机编程的工具链标识符。 arm-linux-gnueabi: 这是用于 ARM 架构上运行 Linux 操作系统的软浮点支持的工具链标识符。 arm-linux-gnueabihf: 这是用于 ARM 架构上运行 Linux 操作系统的硬浮点支持的工具链标识符。 armeb-eabi: 这是用于大端模式的 ARM 架构的裸机编程的工具链标识符。 armeb-linux-gnueabi: 这是用于大端模式的 ARM 架构上运行 Linux 操作系统的软浮点支持的工具链标识符。 armeb-linux-gnueabihf: 这是用于大端模式的 ARM 架构上运行 Linux 操作系统的硬浮点支持的工具链标识符。 armv8l-linux-gnueabihf: 这是指 ARMv8 架构下带有 Linux 操作系统且使用硬浮点的工具链标识符。 具体来说,arm 表示 ARM 架构,linux 表示 Linux 操作系统,gnueabihf 则表示使用了 GNU 工具链和 EABI(嵌入式应用二进制接口)。

x86_64架构电脑下载编译

下载链接:https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/ 解压gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar 编译hello.c 生成可执行文件

配置环境变量

加载环境变量

查看环境变量

交叉编译软件zbar-0.10.tar.bz2

1 下载软件zbar-0.10.tar.bz2 2 解压软件tar –xvf zbar-0.10.tar.bz2 3 创建zbar-0.10/output文件夹 4 配置软件./configure --prefix=$PWD/output/ --enable-shared --enable-static --disable-video --without-python --without-gtk --without-qt --without-imagemagick CFLAGS="" --host=arm-linux-gnueabihf 5 编译软件make 6 安装软件make install ./configure --prefix=安装路径 --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]

交叉编译软件libiconv-1.15.tar.gz

1 下载软件libiconv-1.15.tar.gz 2 解压软件tar –xvf libiconv-1.15.tar.gz 3 创建libiconv-1.15/output文件夹 4 配置软件./configure --prefix=$PWD/output CC=aarch64-linux-gcc --host=aarch64-linux --enable-shared --enable-static 5 编译软件make 6 安装软件make install ./configure CC=C交叉编译器 CPP=C++交叉编译器 --prefix=安装路径 --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]

链接库文件-l

forlinx@ubuntu:~/program/c/i2c$ /home/forlinx/OK3568-linux-source/buildroot/output/OK3568/host/bin/aarch64-linux-gcc i2c.c -o i2cwrite -li2c
http://www.jsqmd.com/news/634148/

相关文章:

  • ReadCat开源小说阅读器:从入门到精通的完整实战指南
  • 【异常】安装hermes-agent.git提示error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 110
  • 万物识别模型部署全攻略:环境配置+代码运行,新手必看
  • imagemagick6.2.7 批量处理nscripter的绿幕立绘到透明png的教程
  • 实测阿里Qwen-Image-2512镜像:ComfyUI操作,生成效果惊艳
  • 龙芯k - 走马观碑组MPU驱动移植啃
  • 热议知名的建筑节能改造企业,哪家靠谱选它不踩坑 - 工业品网
  • 2026年Ei 检索核心期刊目录(最新版)
  • PDE (Processing D Editor) 三维场景编辑器 · 软件白皮书 · 基于 v..境
  • Omni-Vision Sanctuary 跨平台开发:利用WSL2在Windows下进行模型调试
  • Gemma-3 Pixel Studio效果展示:PNG透明通道保留下的精准前景物体识别
  • 密码学工具箱ToolsFx:新手也能快速上手的终极指南 [特殊字符]
  • 总结鹅绒被源头工厂排名,说说性价比高的鹅绒被品牌怎么选 - 工业设备
  • nli-distilroberta-base嵌入式设备展望:从STM32到边缘AI的轻量化之路
  • Minecraft Region Fixer终极指南:拯救你的损坏游戏世界
  • UniApp权限管理进阶:用uni-popup优雅实现权限申请前的目的告知(兼容安卓13+)
  • 写代码易错点整理
  • 终极指南:DeepSeek-OCR如何通过SAM+CLIP双编码器实现高精度文档识别
  • 从“实体分类学”到“关系语法学”:DOS模型的理论品格与未来潜能
  • 2026奇点大会倒计时92天!AIAgent开发入门黄金窗口期:掌握这6个可复用Agent模式,抢占首批企业落地席位
  • ESP32与LVGL实战:高效图片显示方案解析
  • DeepSeek-OCR:视觉压缩如何重塑长文本处理?解析DeepEncoder的架构设计与效率突破
  • 口碑好的鹅绒被品牌分享,防钻绒无异味的优质之选推荐 - 工业品牌热点
  • DRV8303电机驱动芯片SPI配置详解:以STM32 HAL库为例,搞懂读写时序与寄存器映射
  • 分享荧光渗透检测线供应商选购要点,选对品牌少走弯路 - 工业品网
  • 微信公众号自动化发布:从零到一的完整指南
  • 3种高效配置方案:AnimateAnyone人体姿态动画生成实战指南
  • 4B小模型,30B级性能!通义千问3-4B-Instruct-2507本地部署与效果体验
  • 可靠的北京林倩律师,讲讲处理案件能力、服务流程及专业选哪家 - 工业推荐榜
  • C#字符串截取实战:5种常用场景代码示例(附性能对比)