gcc部分参数理解

QNX交叉编译 交叉编译手册建议用qcc调用gcc(功能qcc > q++,当然直接用gcc也行),那么就是设置c编译器目标为arch【gcc/5.4.0,gcc_ntoaarch64le有看文章这么写的,应该只是为了找到conf文件,配置qcc实际调用的编译器】在windows下的交叉编译工具CMAKE_C_COMPILER在路径${COMPILER_BIN_PATH}${QNX_TARGET}这个路径里面都是一些文件,我们这里就是为了添加一些文件。其中lto_cc为使用的gcc编译器。target,装有QNX的目标。 阅读详情

-mcpu=cortex-a53 指定了CPU内核款型

-march=armv8-a+fp+simd+crc+crypto

armv8-a 架构

+simd Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。

以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。

crypto

Enable Crypto extension. This implies Advanced SIMD is enabled.

使能加密扩展功能,这意味着高级SIMD功能启用

fp Enable floating-point instructions.

启用浮点运算指令

simd

Enable Advanced SIMD instructions. This implies floating-point

instructions are enabled. This is the default for all current

possible values for options -march and -mcpu=.

启用高级SIMD指令。这意味着浮点指示启用。这是所有当前的默认值选项对于-march和 –mcpu来说

-funroll-all-loops

Unroll all loops, even if their number of iterations is uncertain

when the loop is entered. This usually makes programs run more

slowly. -funroll-all-loops implies the same options as

-funroll-loops,

展开所有循环,即使在进入循环之前,迭代数量不确定。这种方式下通常会使程序变慢,-funroll-all-loops隐含选项-funroll-loops

--param

max-inline-insns-auto

When you use -finline-functions (included in -O3), a lot of

functions that would otherwise not be considered for inlining

by the compiler are investigated. To those functions, a

different (more restrictive) limit compared to functions

declared inline can be applied. The default value is 40.

指定-finline-functions选项(-O3中包含)下,修改自动内联函数的最大指令条数,默认情况下是40行。

case-values-threshold

The smallest number of different values for which it is best to

use a jump-table instead of a tree of conditional branches. If

the value is 0, use the default for the machine. The default

is 0.

用跳转表代替分支树的最小值,如果是0表明是默认使用机器默认值

-falign-functions

-falign-functions=n

Align the start of functions to the next power-of-two greater than

n, skipping up to n bytes. For instance, -falign-functions=32

aligns functions to the next 32-byte boundary, but

-falign-functions=24 aligns to the next 32-byte boundary only if

this can be done by skipping 23 bytes or less.

函数起始对齐,对齐数字节数为大于n的2的幂,跳过n个字节对齐。例如-falign-functions=32,对齐函数到下一个32 byte的边界,但是-falign-functions=24,则跳到下一个32byte对齐的边界。(因为24不是2的幂。)

-fno-align-functions and -falign-functions=1 are equivalent and

mean that functions are not aligned.

-fno-align-functions 和-falign-functions=1是相同的意思表示不启用函数对齐

Some assemblers only support this flag when n is a power of two;in

that case, it is rounded up.

对于汇编器来说只支持2的幂,这种情况下会自动修改到2的幂对应的值。

If n is not specified or is zero, use a machine-dependent default.

Enabled at levels -O2, -O3.

如果是n不特殊指定或指定0则使用机器默认值,默认在-O2 ,-O3开启

-ftracer

Perform tail duplication to enlarge superblock size. This

transformation simplifies the control flow of the functionallowing

other optimizations to do a better job.

ftrace大致理解即允许增加跟踪记录便于更好的优化程序。

【Linux内核实验】 gcc与make使用 1.实验任务  1) 熟悉并基本掌握GCC的基础知识 2) 为自己的工程编写makefile文件  2.实验内容 2.1 gcc 执行过程  2.1.0 准备工作 Ubuntu中GCC的安装 sudo apt-get update /*更新源地址*/ sudo apt-get install gcc /*安装GCC*/ 注:谨慎选择可用源,注意源是否支持当前linux版本   2.... 阅读详情

相关推荐

Ubuntu学习记录2——objdump

文章目录objdump是什么objdump参数命令参数使用举例 objdump是什么 objdump是gcc编译器中的一个指令,功能是反汇编,gcc是GNU C语言编译器(GNU C Compiler),GNU是一个计划或者说运动,然后很多人在这个计划中开发了gcc等,大概这样,贴个知乎链接,我感觉通俗易懂(GNU 是什么,和 Linux 是什么关系?) 这个指令有一堆参数,这些参数负责告诉编译器怎么干活、把活干到什么程度,比如 -S 表示输出C源代码和反汇编出来的指令对照的格式,那你如果想要看C源代码.

weixin_42541913的博客 1439

ARM-GCC编译选项解释

ARM选项 -mabi=name 为指定的ABI生成代码。允许值为:‘apcs-gnu’, ‘atpcs’, ‘aapcs’, ‘aapcs-linux’ 和 ‘iwmmxt’ -mapcs-frame 为所有功能生成符合ARM过程调用标准的堆栈框架,即使这对于正确执行代码不是绝对必要的。指定-fomit-frame-pointer 如果使用此选项,则不会为叶函数生成堆栈帧。默认是-mno-apcs-frame。不建议使用此选项。 -mapcs 这是和 -mapcs-frame选项一样, 并已弃用。 -mt

luoqingxi000的博客 1万+

gcc简介和命令行参数说明

文章目录(一) gcc基本用法(二) 警告提示功能选项(三) 库操作选项(四) 调试选项(五) 交叉编译选项 更多的相关资料见:GCC常用参数详解 (一) gcc基本用法 使用gcc编译器时,必须给出一系列必要的调用参数和文件名称。不同参数的先后顺序对执行结果没有影响,只有在使用同类参数时的先后顺序才需要考虑。 如果使用了多个 -L 的参数来定义库目录,gcc会根据多个 -L 参数的先后顺序来执行相应的库目录。 因为很多gcc参数都由多个字母组成,所以gcc参数不支持单字母的组合,Linux中常被叫短参数

To the beyond and infinity! 5598

Arm指令模拟器开发参考指南【翻译自 armDeveloper】

这篇指南描述如何入门并使用Arm指令模拟器(Arm Instruction Emulator, ArmIE)。Arm指令模拟器是一款跑在AArch64(也就是Arm64)平台上的软件工具,用来模拟SVE(Scalable Vector Extension)指令集。想了解SVE可以去看看,我翻译的另一篇《SVE(Scalable Vector Extension)简介》。Arm指令模拟器使你可以在没有SVE支持的硬件上跑编译好的SVE应用的二进制程序。本节介绍如何安装和开始使用 Arm® 指令仿真器。 Arm

AngelLover2017的博客 3471

手把手教学|用飞书+扣子工作流实现自动化批量图片生成,效率提升99%!体验完整操作流程

在先前的文章中,我们已经深入探讨了扣子智能体的多种应用场景,以及如何创建和使用工作流进行高效管理。本文将引领大家通过一个具体案例,将扣子的工作流功能嵌入飞书应用中,实现操作的自动化与高效化。

weixin_66485800的博客 6028

Frida+Objection保姆级教程:从环境搭建到实战Hook(含Wallbreaker插件使用)

本文提供了一份从零开始的Frida与Objection移动安全动态分析实战指南。详细讲解了Python环境配置、Frida-Server部署、Objection核心命令使用以及Wallbreaker插件安装与应用。通过实战案例演示如何Hook网络请求(如HttpURLConnection和OkHttp3),帮助安全研究人员快速掌握应用运行时行为分析与漏洞挖掘技能。

weixin_28318011的博客 101

交叉编译ARM平台、移植ArmNN

参考文章: 检查lib文件的软连接方向: ls -l libboost_system.so 进入板子linux系统: ssh root@10.6.5.134 ping 10.6.5.134

yiyayiya557的博客 2245

将CityScapes数据集转换为COCO格式的实例分割数据集

##¥##2019年结束前最后两小时,写出本年度最后一篇博客,不是博主没地方去跨年,实在是Coding乐趣无穷ahhhh ##¥## COCO数据集是研究实例分割的通用数据集,但是针对道路环境的数据较少,对于自动驾驶和移动机器人的应用并不适配。而提供道路环境的实例分割数据的数据集目前有KITTI、CityScapes、Apllo等,CityScapes算是应用较广,数据质量较高的一个,所以,本篇...

陆羽飞的博客 9940

2 华为鲲鹏HCIP 高阶鲲鹏代码移植23+鲲鹏应用发布18

l应用开发p按照需求,选择开发语言及开发环境进行开发p如在鲲鹏平台使用C语言开发一个应用l应用打包p根据开发语言及需求进行应用程序的打包p如C语言一般使用rpm打包、JAVA使用jar命令打包等l配套文档编写p应用发布前对配套文档的制作,如版本说明、使用说明、功能说明等l应用发布p选择合适的途径和平台进行发布rpmbuild目录是可以由命令自动生成Rpmbuild目录的具体路径及用途如下:路径宏代码名称用途~/rpmbuild。

weixin_48029567的博客 2813

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5349

FPGA远程升级避坑指南:用AXI Quad SPI IP读写N25Q128 Flash的完整流程

本文详细介绍了FPGA远程升级过程中使用AXI Quad SPI IP读写N25Q128 Flash的完整流程,包括IP核配置、Flash操作指令集、双镜像备份设计及生产级远程升级协议。通过最佳实践和避坑策略,帮助开发者实现可靠的镜像更新方案,提升系统可靠性和可维护性。

weixin_30542079的博客 673

GCC RISCV 后端 -- cc1 入口

具体到C/C++的代码时,其最小抽象单元是函数,也就是理解函数在业务逻辑中的抽象意涵,也就是,知道函数的原型(Prototype),即其输入、输出、函数名,就能明白其作用。再往上抽象一层就是,类(Class),即对数据结构及相关处理函数的封装。再往上一层抽象就是库(library)。再往上就是包(Package)。这样一步步往上抽象,来组织管理整个程序代码,以使得其复杂度可以控制在便于维护及理解的程度。

sinat_36821938的博客 655

【小宁学习日记6 PCB】电路原理图

本文系统讲解了电子硬件设计中原理图的阅读与绘制技巧。首先剖析原理图的四大核心要素(元件符号、连接线、结点、注释),强调注释对可读性的重要性。然后提出三步读懂法:查看图纸信息、分模块分析、结合芯片手册验证,并列举5个典型芯片案例(CH224K、CH343P等)进行实战解析。最后给出6条绘制规范:模块化布局、详细标注、规范命名、信号流布局、符号封装匹配、版本管理。文章指出原理图是电子设计的"地基",掌握规范阅读与绘制方法能大幅提升设计效率,避免常见错误。新手应从开源项目分析和简单电路绘制入手

qq_74376834的博客 2352

lcov收集覆盖率

1、gcov 1.1 什么是gcov 首先我们要了解什么是gcov,gcov伴随gcc 发布。gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用例生成代码覆盖率信息。 1.2 如何使用gcov 用GCC编译的时候加上-fprofile-arcs -ftest-coverage选项,链接的时候也加上。...

1293

Unity URP项目里Post Processing死活没效果?别慌,这5个坑我帮你踩过了

本文详细解析了Unity URP项目中Post Processing效果失效的五大常见问题,包括渲染管线配置冲突、Volume作用域误判、摄像机参数漏配、Layer层级冲突和Profile引用异常。通过实际项目案例和代码示例,提供专业级解决方案,帮助开发者快速排查并修复后处理效果不生效的问题。

weixin_33721427的博客 333

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5273

AOSP 中的编译工具链工具

在AOSP(Android Open Source Project)中,编译工具链是一组用于构建Android操作系统的工具集合。这些工具协同工作,将源代码转换为可执行的二进制文件,用于生成Android系统的各个组件和应用程序。

特立独行的博客 2173

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

7/19学习日记

任务:1、继续对系统安全的部分指令进行学习             2、下午上课学习了编辑器vim和编译gcc的指令 完成情况:对于系统安全的部分指令如umask有点一知半解的感觉,不是很清晰。                    vim和gcc的指令还得继续熟悉。 需要注意:编写程序的时候,参数的大小写要注意。...

winnie0818yan的博客 149

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

GCC 参数详解

PWN——GCC编译中几种保护打开和关闭的参数 NX:-z execstack / -z noexecstack (关闭 / 开启) 栈不可执行,开启后不会把栈上的数据当作代码来执行 Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启) 打开后会向栈中插入一段特殊数据,在函数返回的时候验证这段特殊数据是否被改变,如果改变,则终止该程序。防止栈溢出。 PIE:-no-pie / -

weixin_45943522的博客 2279

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

GCC简介及命令参数总结

在自学Linux相关的知识,学习了GCC、GDB、Makefile等xian相关知识,本想将zhe'这段时间所学东西zong总结一下,奈何肚子里墨水严重不足,盯着屏幕半个小时愣是写不出东西。首先时自己确实学艺不精写不出太深的东西,其次自己写作写作水平有限,写不好什么。就将记的笔记总结一下,再在网上一些内容添加进去丰富一下。 相关博客http://blog.youkuaiyun.com/eastonwoo/a...

Xigle_sun的博客 7805

gcc参数大全

[介绍]  gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步  1.预处理,生成.i的文件[预处理器cpp]  2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]  3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]  4.连接目标代码,生成可执行程序[链接器ld] [参数详解]  -x lang

3904

GCC参数详解

GCC参数详解   [版本]   -0.13   [声明]   这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos   命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.   不全的原因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用它   不过,我会慢慢的补齐的.哈哈   如果你要转在本文章请保留我的email(pianopan@beeship.com)和文章的全   面性.   [介绍]   gcc and

凤凰涅槃 567

gcc参数详解

GCC参数详解下面的东西可能也不是很全面但对初学者有帮助。[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld

sEmIbIt fIeLd 1781
上一篇: CPU评测
下一篇: RAS - Reliability, Availability and Serviceability
LY_ulysses
博客等级 码龄16年 12粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值