Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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++ÖУ¬¹ØÓÚCPPµÄÍ·Îļþ»¥Ïà°üº¬µÄÎÊÌâºÜÈÃÈËÍ·ÌÛ£¬ÆäʵÎÒÃÇË­Ò²²»Ô¸ÒâŪµÄ½á¹¹»ìÂÒ£¬ÄÑÒÔÀí½â£¬µ«ÓÐʱÓÖÊÇÓбØÐëµÄ¡£
     ¼Ù¶¨µ±Ç°ÓÐÁ½¸öÍ·Îļþ·Ö±ðΪ A.h  ºÍ B.h£¬ÄÚÈÝ·Ö±ðÈçÏ£º
     A.hÄÚÈÝΪ£º
     #ifndef  ......

C/C++ ³ÌÐòÉè¼ÆÔ±Ó¦Æ¸³£¼ûÃæÊÔÊÔÌâÉîÈëÆÊÎöÖ®Ò»


1.ÒýÑÔ 
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº­¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½Á ......

GNU C __attribute__ »úÖÆ¼ò½é

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

ͨѶ¼C³ÌÐò´úÂë

#include <stdio.h>
#include <string.h> /* ³ÌÐò¶à´Îµ÷ÓÃbiodkey()£¬Ó¦°üº¬Í·Îļþbios.h */
#include <bios.h><br>/* ³ÌÐò¶à´Îµ÷ÓÃclrscr()£¬Ó¦°üº¬Í·Îļþconio.h */
#include <conio.h>
#define MAX 100
#define PAGE 2
#define PRINT1 printf("------------------------------ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ