www.pudn.com > c++_asm混合.rar > asmlearn1.cpp


// asmlearn1.cpp : 定义控制台应用程序的入口点。 
// 
 
#include "stdafx.h" 
#include  
#include  
#include  
 
#include "testh2inc.h" 
using namespace std; 
extern "C"  int __stdcall Test1(int val); 
 
extern "C" char g_fileName[];		//变量声明时也要用extern "C" 
extern "C" char g_pfileName[];		//label 指示的标识符不能指定指针 
//extern "C" *char g_fileName;	//本句与上句不同, 
//上边的g_fileName代表串本身的地址,而本句中的g_fileName表示一个变量,他的内容是串的地址, 
 
extern "C" H2INC2 testh2inc2; 
 
extern "C" g_Version; 
extern "C" char g_Data[]; 
extern "C" char g_Time[]; 
extern "C" g_Cpu; 
//extern "C" char g_Environ[]; 
extern "C" char g_Interface[]; 
extern "C"  g_Line; 
int power2( int num, int power ); 
 
char * TestInlineAsm(int i,char *p,int k); 
 
//声明一个共享段 
#pragma section("myShareData",read,write,shared) 
//在一个段内声明一个变量 
//__declspec(allocate("myShareData"))  int g_TestVal = 0; 
 
//或者 
/* 
#pragma data_seg("shared")  
HHOOK g_hProc = NULL; // 窗口过程钩子句柄  
HHOOK g_hKey = NULL; // 键盘钩子句柄  
HWND g_hRich = NULL; // 文本框句柄  
#pragma data_seg()  
#pragma comment(linker, "/section:shared,rws")  
*/ 
 
#include  
int _tmain(int argc, _TCHAR* argv[]) 
{ 
/* 
 *	 
 测试进程间共享内存 
 */ 
	//while(1) 
	//{ 
	//	Sleep(200); 
	//	cout<< g_TestVal++ << endl; 
	//} 
	cout<