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 ...
随机推荐
- ANT 配置和安装 1
--"JAVA_HOME" (JDK HOME)C:\Program Files\Java\jdk1.7.0_79 -- "ANT_HOME" (ANT HOM ...
- Cookie 的设置和获取
获取:var userName = getCookieValue("userName"); 设置:setCookie("userName",equpid,24, ...
- How to Iterate Over a Map in Java?(如何遍历Map)
1.Iterate through the "entrySet" like so: public static void printMap(Map mp) { Iterator i ...
- PHP缓存技术的多种方法小结
这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓 ...
- java 继承与多态
Example5_11.java class 动物 { void cry() { } } class 狗 extends 动物 { void cry() { System.out.println(&q ...
- CentOS下Samba服务器的配置
主要用途: 在两台计算机间共享文件.打印机 安装: yum install samba 启动服务: /etc/rc.d/init.d/smb start 添加用户 (必须是系统中真实存在的用户) s ...
- GoF 设计模式:浅浅印象
23种设计模式,常常多个模式结合使用,主要是为了解决中大型软件项目"类和对象"膨胀的问题,进而有效组织类的结构而提出的.可划分为3类:创建型(关于类的创建),结构型(多个类的组织) ...
- 转:selenium 并行启动多个浏览器
https://github.com/fool2fish/selenium-doc/blob/master/official-site/selenium-grid.md Selenium Grid 快 ...
- 图片处理中的Dithering技术
话说二战的时候,美国轰炸机每次执行任务,除了满载着威力强大的炸弹以外,还常常要装配一台计算机,飞机飞行方向和投弹的抛物线的计算都离不开这台机器.可是世界上第一台电子计算机在二战结束后才发明,轰炸机上当 ...
- s5pv210 AD转换
1:ADC:Analog-to-Digital Converter,模拟信号转数字信号,自然界一般为模拟信号,而SoC需要数字信号,所以之间通信需要ADC. 2:转换原理: 以逐次逼近式AD转换为例: ...