混合编程
常见方式:
1 在c/c++程序中嵌入汇编指令
语法格式:
__asm
{
汇编语言程序
}
2 在汇编程序中访问c/c++定义的全局变量
示例代码如下:
test.c
#include <stdio.h>
int gVar_1=12;
extern asmDouble(void)
int main(void){
printf("original value of gVar_1 is %d",gVar_1);
admDouble();
printf("modified value of gVar_1 is %d",gVar_1);
return 0;
}
test.s
AREA asmfile,CODE,READONLY
EXPORT asmDouble;声明全局引用标号
IMPORT gVar_1;引用
asmDouble
ldr r0,=gVar_1
ldr r1,[r0]
mov r2,#2
mul r3,r1,r2
str r3,[r0]
mov pc,lr
END
3 在c/c++程序中调用汇编函数
示例代码如下:
test1.s
AREA asmfile,COCE,READONLY
EXPORT asm_strcpy;声明全局引用标号
asm_strcpy;函数名
loop:
ldrb r4,[r0],#1
cmp r4,#0
beq over
strb r4,[r1],#1
b loop
over:
mov pc,lr;用于函数返回
END
test1.c
#include <stdio.h>
extern void asm_strcpy(const char *src,char *dest);
int main(){
const char *s ="hello world";
char d[32];
asm_strcpy(s,d);
printf("source:%s",s);
printf("destination: %s",d);
return 0;
}
上面程序jni的味道有木有?
4 汇编程序中调用c/c++函数
示例代码如下:
test2.c
int cFun(int a,int b,int c){
return a+b+c;
}
test2.s
EXPORT asmfile
AREA asmfile,CODE,READONLY
IMPORT cFun;引用函数
ENTRY;指定应用程序入口
mov r0,#11
mov r1,#22
mov r2,#33
BL cFun;返回
END
- 浏览: 248374 次
- 性别:
- 来自: 济南
相关推荐
ARM 汇编语言和C/C++语言混合编程的方法
这文档是c/c++ 与ARM汇编的相互调用的规则
ARM汇编语言与嵌入式C语言混合编程内嵌汇编.pdf
IAR IDE开发指导,详细描述了IAR开发环境如何使用,如何优化,如何配置等,适用于使用C/C++进行开发的嵌入式开发者
本压缩包文件集锦了嵌入式C/C++开发编程技巧,高效编程技术探索,C/C++语言相关技术问题的深层探索,并且对嵌入式C/C++程序员应聘常见面试题进行了深入剖析,对嵌入式C/C++开发者编程修炼,提升自身的相关能力具有很...
ARM汇编与C语言混合编程讲义pdf,ARM汇编与C语言混合编程讲义
本文浅析了ARM汇编 C语言 C++ 相互调用的方法。
IAR C-C++ Development Guide for ARM.7z IAR C-C++ Development Guide for ARM.7z IAR C-C++ Development Guide for ARM.7z IAR C-C++ Development Guide for ARM.7z vIAR C-C++ Development Guide for ARM.7z
ARM 编译器可以支持汇编语言、C/C++、汇编语言与 C/C++的混合编程等,本章将介绍汇编、C 相关的编程方法。本章主要内容:ARM汇编器支持的伪操作;ARM汇编器支持的伪指令;ARM汇编器的使用;汇编语言与 C的混合编程
不错的讲解ARM汇编语言与C语言混合编程的实现方法!真的!
c/c++ procedure call standard for the arm architecture ARM中,C函数调用标准
摘 要:首先介绍并比较了TI5000系列DSP的三种主要软件开发方法的优缺点,提出了C/C++与汇编语言混合编程方法的优越性所在。之后在比较了几种典型混合编程方法的基础上,提出了一种结构化的混合编程方法并详细阐述了...
ARM 汇编学习笔记 很好。学好嵌入式,各行各业都用到。
在嵌入式程序设计中,有些场合(如对具体的硬件资源进行访问)必须用汇编语言来实现,可以采用在嵌入式 C 语言程序中嵌入汇编语言或嵌入式 C 语言调用汇编语言来实现。
C&C++嵌入式开发不可多得的资料。C++嵌入式系统编程, 嵌入式C编程语言入门与深入,嵌入式C精华总结
ARM C/C++编译器可以被使用在UNIX和Windows/MS-DOS环境下。ARM C++编译器遵守C++的国际标准ISO/IEC 14822:1998。ARM C/C++编译器可以编译多种格式的C/C++源代码,其中包括ANSI C、EC++、C++。表1列出...
ARM中C和汇编混合编程及示例.pdf ARM中C和汇编混合编程及示例.pdf
ARM Compiler v5.01, Build 94, is intended for use as an update...This update consists of an updated compiler, linker, assembler, fromelf, and armar program executables, include files and C/C++ libraries.
ARM中C语言和汇编语言混合编程 C语言调用汇编 汇编语言嵌入C中 混合编程
ARM中C和汇编混合编程及示例