做应用系统,既要讲究开发效率,又要考虑运行速度。
一个系统,如果全部由机器语言或者汇编语言编写,运行速度可能达到了,但是开发效率就低了;同样,如果全部由高级语言开发,效率肯定大进,但运行速度绝对没有低级语言开发的运行得快。择中如何?可以。
近来看了一点书,甚感震撼!c/c++有嵌套汇编语言的功能!
遂编一个,试了一试,可以运行。
#include "stdio.h"
char a[]="汇编";
char b[]="我爱";
char format[]="%s %s \n";
void ShowTest()
{
__asm
{
mov EAX, offset a
push EAX
mov EAX, offset b
push EAX
mov EAX,offset format
push EAX
call printf
pop EBX
pop EBX
pop EBX
}
}
void main()
{
ShowTest();
}
结果是:我爱汇编
#include <iostream.h>
using namespace std;
int a=12;
int b=13;
class test
{
public:
void Swap()
{
__asm
{
push [a]
push [b]
pop [a]
pop [b]
}
}
};
void main()
{
test Test;
cout<<"之前:a="<<a<<" b="<<b<<endl;
Test.Swap();
cout<<"之后:a="<<a<<" b="<<b<<endl;
}
结果:
之前:a=12 b=13
之后:a=13 b=12