#include "stdafx.h"
#pragma comment(lib,"textdll")
extern int TextDLL();
int _stdcall main()
{ char a[2]={0,0};
a[0]='0'+TextDLL();
MessageBox(NULL,a,"Answer",MB_OK);
return 0;
}
#include "stdafx.h"
#pragma comment(lib,"textdll")
_declspec(dllimport) int TextDLL();
int _stdcall main()
{ char a[2]={0,0};
a[0]='0'+TextDLL();
MessageBox(NULL,a,"Answer",MB_OK);
return 0;
}
上面的代码有区别么?
我看一本书,所后者生成的代码比前者的运行效率更高,这话对么?我怎么觉得,这只是编译器的事,只是后者让编译器更容易地找到TextDLL()的定义罢了,对代码没有什么大的影响。但我比较它们的机器码时,出现了152处的不同的字节(包括PE的,但这部分好象很少)
到底它们有什么区别?
#pragma comment(lib,"textdll")
extern int TextDLL();
int _stdcall main()
{ char a[2]={0,0};
a[0]='0'+TextDLL();
MessageBox(NULL,a,"Answer",MB_OK);
return 0;
}
#include "stdafx.h"
#pragma comment(lib,"textdll")
_declspec(dllimport) int TextDLL();
int _stdcall main()
{ char a[2]={0,0};
a[0]='0'+TextDLL();
MessageBox(NULL,a,"Answer",MB_OK);
return 0;
}
上面的代码有区别么?
我看一本书,所后者生成的代码比前者的运行效率更高,这话对么?我怎么觉得,这只是编译器的事,只是后者让编译器更容易地找到TextDLL()的定义罢了,对代码没有什么大的影响。但我比较它们的机器码时,出现了152处的不同的字节(包括PE的,但这部分好象很少)
到底它们有什么区别?










