程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ 嵌入匯編程序提高計算效率

C++ 嵌入匯編程序提高計算效率

編輯:關於C++

由於匯編語言比C++更接近硬件底層,所以在性能要求高的程序中往往可以采取在C++代碼中嵌入匯編的方式來給程序提速。

在VC中可以簡單的通過

 

__asm
{
//在這裡添加匯編代碼
}
來實現。下面通過一個非常簡單的例子來看匯編交叉編譯和直接的C++代碼之間的性能差距,代碼和運行結果如下:

 

 

#include 
#include time.h
#define NumberOfCalculation 10000000
void main()
{
	long gettime = clock();
	unsigned int i = NumberOfCalculation;
	unsigned int a1 = 1, b1 = 2;
	unsigned int a2 = 1, b2 = 2;
	while (i--)
	{
		//c
		a1 = a1 + b1;
		b1 = a1 + b1;
	}
	printf(a:%d b:%d
, a1, b1);
	printf(普通c++程序花費時間%dms
, clock() - gettime);
	i = NumberOfCalculation;
	gettime = clock();
	while (i--)
	{
		//匯編
		__asm
		{
			mov eax, a2;
			mov ebx, b2;
			add eax, ebx
			mov a2, eax;
			add ebx, eax
			mov b2, ebx;
		}
	}
	printf(a:%d b:%d
, a2, b2);
	printf(匯編交叉編譯程序花費時間%dms
, clock() - gettime);
	getchar();
}

 

\
如果是復雜的程序中,則性能的差異將更加明顯可見。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved