RealView编译器常用特有功能(转)
一. 关键字和运算符
1. __align(n):指示编译器在 字节边界上对齐变量。n
对于局部变量,n 值可为 1、2、4 或 8。
对于全局变量,n 可以具有最大为 2 的 0x80000000 次幂的任何值。
__align 关键字紧靠变量名称前面放置。
注意事项:
只能进行过对齐。也就是说,可以将两个字节的对象按 4 个字节对齐,而不能将 4 个字节的对象按两个字节对齐。
用法举例:
__align() char buffer[]; /* buffer从8字节对齐边界开始*/
void foo(void)
{
...
__align() int i; /* 这个对齐值是不允许用在局部变量中的*/
...
}
__align() int i; /* 作为一个全局变量,这个对齐值是被允许的*/
2. __asm:此关键字用于将信息从编译器传递到 ARM 汇编器armasm。
用法:
a. 嵌入式汇编器
可以使用 __asm 关键字声明或定义嵌入式汇编函数。例如:
__asm void my_strcpy(const char *src, char *dst);
b. 内联汇编器
可以使用 __asm 关键字将内联汇编合并到函数中。例如:
int qadd(int i, int j)
{
int res;
__asm
{
QADD res, i, j
}
return res;
}
c. 汇编器标签
可以使用 __asm 关键字为 C 符号指定汇编器标签。例如:
int count __asm__("count_v1"); // export count_v1, not count
d. 已命名的寄存器变量
可以使用 __asm 关键字声明已命名的寄存器变量。例如:
register int foo __asm("r0");
3.
4.
5.
....
RealView编译器常用特有功能(转)的更多相关文章
- List接口特有功能
List 有序的 有整数索引 允许重复使用 特有功能: void add(int index, E element) //指定位置添加元素 E get()int index) ...
- Pandas常用基本功能
Series 和 DataFrame还未构建完成的朋友可以参考我的上一篇博文:https://www.cnblogs.com/zry-yt/p/11794941.html 当我们构建好了 Series ...
- java 16 -4 LinkedList的特有功能
了解 LinkedList的特有功能: A:添加功能 public void addFirst(Object e) public void addLast(Object e) B:获取功能 publi ...
- java 16 -3 Vector的特有功能
/* * Vector的特有功能: * 1:添加功能 替代 * public void addElement(Object obj) -- add() * 2:获取功能 * public Object ...
- Java基础知识强化之集合框架笔记26:LinkedList的特有功能
1. LinkedList的特有功能: (1)添加功能 public void addFirst(Object e) public void addLast(Object e) ( ...
- Java基础知识强化之集合框架笔记25:Vector的特有功能
1. Vector的特有功能: (1)添加功能 public void addElement(Object obj) -- add() (2)获取功能 pu ...
- Java基础知识强化之集合框架笔记16:List集合的特有功能概述和测试
1. List集合的特有功能概述: (1)添加功能: void add(int index, Object element):在指定位置添加元素 (2)获取功能: Object get(int ind ...
- Impala系列: Impala常用的功能函数
--=======================查看内置的函数--=======================hive 不需要进入什么内置数据库, 即可使用 show functions 命令列出 ...
- List集合的特有功能
import java.util.ArrayList; import java.util.List; /** * * List集合的特有功能 * A:添加功能 * void add(int index ...
随机推荐
- 转 Linux下的GoldenGate的启动关闭Shell脚本(独立)
用户想要用OGG进行同步数据,原来用的是Shareplex,至于为啥要换OGG,BulaBula一堆原因.....这不是我们要在意的事情,和客 户装完配置好OGG之后,测试中,客户提出要有个简单的启动 ...
- HDU 1540<线段树,区间并>
题目连接 参考 题意: 维护各个点的连续的最大连续长度. 思路: 主要是维护一个区间的三个变量ll,f[i].l为起点向右的最大连续 长度,rl:f[i].r为起点向左的最大连续长度,ml:[l,r] ...
- iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析
1. 概述 iOS开发中,必然会涉及到布局相关问题,frame,bounds,contenSize,contentOffset,contentInset这几个布局相关概念让许多初学者感到困惑.虽然初步 ...
- python 中调用shell命令
subprocess模块 根据Python官方文档说明,subprocess模块用于取代上面这些模块.有一个用Python实现的并行ssh工具—mssh,代码很简短,不过很有意思,它在线程中调用sub ...
- World Finals 1996 Uva 247 (Floyd求闭包)
思路:用Floyd求传递闭包. 附:逗号后的空格没看到,WA了好多次…….还有就是强连通分量也可以做,但是对这个题来说太麻烦,而且不方便输出,. 代码如下: #include<iostream& ...
- Light OJ - 1058 Parallelogram Counting(判定平行四边形)
Description There are n distinct points in the plane, given by their integer coordinates. Find the n ...
- APK反编译(Linux环境下)
先下载dex2jar和jd-gui这两个软件,然后解压APK,把解压出来的classes.dex,放到dex2jar的根目录,然后命令行进入到dex2jar根目录,然后执行命令 ./dex2jar ...
- Android Studio 简单介绍和使用问题小结
原文 http://www.cnphp6.com/archives/59264 主题 Gradle Android Studio Android 随着android 5.0 的发布,android ...
- Envelope几何对象 Curve对象几何对象 Multipatch几何对象 Geometry集合接口 IGeometryCollection接口
Envelope是所有几何对象的外接矩形,用于表示几何对象的最小边框,所有的几何对象都有一个Envelope对象,IEnvelope是Envelope对象的主要接口,通过它可以获取几何对象的XMax, ...
- string转化为int方法
int intA = 0; 1.intA =int.Parse(str); 2.int.TryParse(str, out intA); 3.intA = Convert.ToInt32(str);以 ...