Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C/C++Öж¯Ì¬Á´½Ó¿âµÄ´´½¨ºÍµ÷ÓÃ

ת×Ô£ºhttp://dev.yesky.com/12/3067012.shtml
¶¯Ì¬Á¬½Ó¿âµÄ´´½¨²½Ö裺
¡¡¡¡Ò»¡¢´´½¨Non-MFC DLL¶¯Ì¬Á´½Ó¿â
¡¡¡¡1¡¢´ò¿ªFile —> New —> ProjectÑ¡ÏѡÔñWin32 Dynamic-Link Library —>sample project
¡¡¡¡—>¹¤³ÌÃû£ºDllDemo
¡¡¡¡2¡¢Ð½¨Ò»¸ö.hÎļþDllDemo.h
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º
¡¡¡¡#ifdef DllDemo_EXPORTS
¡¡¡¡#define DllAPI __declspec(dllexport)
¡¡¡¡#else
¡¡¡¡#define DllAPI __declspec(dllimport)
¡¡¡¡extern "C" //Ô­Ñù±àÒë
¡¡¡¡{
¡¡¡¡DllAPI int __stdcall Max(int a,int b); //__stdcallʹ·ÇC/C++ÓïÑÔÄÚÄܹ»µ÷ÓÃAPI
¡¡¡¡}
¡¡¡¡#endif
¡¡¡¡3¡¢ÔÚDllDemo.cppÎļþÖе¼ÈëDllDemo.hÎļþ,²¢ÊµÏÖMax(int,int)º¯Êý
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º
¡¡¡¡#include "DllDemo.h"
¡¡¡¡DllAPI int __stdcall Max(int a,int b)
¡¡¡¡{
¡¡¡¡if(a==b)
¡¡¡¡return NULL;
¡¡¡¡else if(a>b)
¡¡¡¡return a;
¡¡¡¡else
¡¡¡¡return b;
¡¡¡¡}
¡¡¡¡4¡¢±àÒë³ÌÐòÉú³É¶¯Ì¬Á¬½Ó¿â
¡¡¡¡¶þ¡¢ÓÃ.defÎļþ´´½¨¶¯Ì¬Á¬½Ó¿âDllDemo.dll¡£
¡¡¡¡1¡¢É¾³ýDllDemo¹¤³ÌÖеÄDllDemo.hÎļþ¡£
¡¡¡¡2¡¢ÔÚDllDemo.cppÎļþÍ·£¬É¾³ý #include DllDemo.hÓï¾ä¡£
¡¡¡¡3¡¢Ïò¸Ã¹¤³ÌÖмÓÈëÒ»¸öÎı¾Îļþ£¬ÃüÃûΪDllDemo.def²¢Ð´ÈëÈçÏÂÓï¾ä£º
¡¡¡¡LIBRARY MyDll
¡¡¡¡EXPORTS
¡¡¡¡Max@1
¡¡¡¡4¡¢±àÒë³ÌÐòÉú³É¶¯Ì¬Á¬½Ó¿â¡£
¶¯Ì¬Á´½ÓµÄµ÷Óò½Ö裺
¡¡¡¡Ò»¡¢Òþʽµ÷ÓÃ
¡¡¡¡1¡¢ ½¨Á¢DllCnslTest¹¤³Ì
¡¡¡¡2¡¢ ½«ÎļþDllDemo.dll¡¢DllDemo.lib¿½±´µ½DllCnslTest¹¤³ÌËùÔÚµÄĿ¼
¡¡¡¡3¡¢ ÔÚDllCnslTest.hÖÐÌí¼ÓÈçÏÂÓï¾ä£º
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º
¡¡¡¡#define DllAPI __declspec(dllimport)
¡¡¡¡#pragma comment(lib£¬"DllDemo.lib") //Ôڱ༭Æ÷linkʱ£¬Á´½Óµ½DllDemo.libÎļþ
¡¡¡¡extern "C"
¡¡¡¡{
¡¡¡¡DllAPI int __stdcall Max(int a,int b);
¡¡¡¡}
¡¡¡¡4¡¢ÔÚDllCnslTest.cppÎļþÖÐÌí¼ÓÈçÏÂÓï¾ä£º
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º
¡¡¡¡#include "DllCnslTest.h"//»òÕß #include "DllDemo.h"
¡¡¡¡void main()
¡¡¡¡{
¡¡¡¡int value;
¡¡¡¡value = Max(2,9);
¡¡¡¡printf("The Max value is&nb


Ïà¹ØÎĵµ£º

Cר¼Ò±à³Ìѧϰ±Ê¼Ç(3)

µÚ8ÕÂ:ÔÙÂÛÊý×é
1.ʲôʱºòÊý×éºÍÖ¸ÕëÊÇÏàͬµÄ
CÓïÑÔ±ê×¢¶Ô´Ë×÷ÁËÈçÏÂ˵Ã÷:
¹æÔò1: ±í´ïʽÖеÄÊý×éÃû(ÓëÉùÃ÷²»Í¬)±»±àÒëÆ÷µ±×÷Ò»¸öÖ¸Ïò¸ÃÊý×éµÚÒ»¸öÔªËصÄÖ¸Õë.
int a[10], *p, i=2;
¿ÉÒÔͨ¹ýÒÔÏÂÈκÎÒ»ÖÖ·½·¨·ÃÎÊa[i];
p = a; p[i];
p = a; *(p+a);
p = a + i; *p
ÔÚ±í´ïʽÖÐ,Ö¸ÕëºÍÊý×éÊÇ¿ÉÒÔ»¥»»µÄ,ÒòΪËüÃÇÔÚ± ......

C/C++ ³ÌÐòÉè¼ÆԱӦƸ³£¼ûÃæÊÔÊÔÌâÉîÈëÆÊÎöÖ®¶þ

   3.ÄÚ¹¦Ìâ 
¡¡¡¡ÊÔÌâ1£º·Ö±ð¸ø³öBOOL£¬int£¬float£¬Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä£¨¼ÙÉè±äÁ¿ÃûΪvar£© 
¡¡¡¡½â´ð£º 
¡¡¡¡¡¡BOOLÐͱäÁ¿£ºif(!var) 
¡¡¡¡¡¡intÐͱäÁ¿£º if(var==0) 
¡¡¡¡¡¡floatÐͱäÁ¿£º 
¡¡¡¡¡¡const float EPSINON = 0.00001; 
¡¡¡¡¡ ......

GNU C __attribute__ »úÖƼò½é

ͻ񻣼
ÔÚѧϰlinuxÄں˴úÂ뼰һЩ¿ªÔ´Èí¼þµÄÔ´Â루È磺DirectFB£©£¬¾­³£¿ÉÒÔ¿´µ½ÓйØ
__attribute__µÄÏà¹ØʹÓᣱ¾ÎĽáºÏ×Ô¼ºµÄѧϰ¾­Àú£¬½ÏΪÏêϸµÄ½éÉÜÁË__attribute__
Ïà¹ØÓï·¨¼°ÆäʹÓá£
---------------------------------------------------------
ÉùÃ÷£º
  ´ËÎÄΪԭ´´£¬»¶Ó­×ªÔØ£¬×ªÔØÇë±£ÁôÈçÏÂÐÅÏ¢
& ......

C/C++ ºËÐļ¼Êõ ×ܽá1

µÚ¶þÕ Êý¾ÝÀàÐÍ
 
Ò»¡¢Êý¾ÝÀàÐÍ·ÖÀà
 
1 ÁªºÏÀàÐÍ
2 º¯ÊýÀàÐÍ
3 ÊýÁ¿ÀàÐÍ
3.1ËãÊõÀàÐÍ
     ¢Ù »ù±¾Êý¾ÝÀàÐÍ
            ÕûÐÍ£¨°üÀ¨char£©
            ¸¡µãÐÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ