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
Ïà¹ØÎĵµ£º
XCode£ºÄã¿ÉÒÔ°ÑËü¿´³ÉÊÇÒ»¸ö¿ª·¢»·¾³£¬¾ÍºÃÏñVisual Studio»òÕßNetbeans»òÕßSharpDevelopÒ»ÑùµÄÍæ
Òâ¡£Äã¿ÉÒÔ½«Interface BuilderÈÏΪÊÇVisual StudioÖÐÓÃÀ´»½çÃæµÄÄDz¿·Ö¹¦Äܵ¥¶ÀÌá³öÀ´µÄ³ÌÐò¡£
Objective-C£ºÕâÊÇÒ»ÖÖÓïÑÔ£¬¾ÍºÃÏñc++ÊÇÒ»ÖÖÓïÑÔ£¬JavaÊÇÒ»ÖÖÓïÑÔ£¬c#ÊÇÒ»ÖÖÓïÑÔ£¬Ýº¸èÀúÊ·Ò²ÊÇÒ»
ÖÖÓïÑÔÒ»Ñù¡£
Coco ......
ÔÚC++ÖУ¬¹ØÓÚCPPµÄÍ·Îļþ»¥Ïà°üº¬µÄÎÊÌâºÜÈÃÈËÍ·ÌÛ£¬ÆäʵÎÒÃÇËÒ²²»Ô¸ÒâŪµÄ½á¹¹»ìÂÒ£¬ÄÑÒÔÀí½â£¬µ«ÓÐʱÓÖÊÇÓбØÐëµÄ¡£
¼Ù¶¨µ±Ç°ÓÐÁ½¸öÍ·Îļþ·Ö±ðΪ A.h ºÍ B.h£¬ÄÚÈÝ·Ö±ðÈçÏ£º
A.hÄÚÈÝΪ£º
#ifndef  ......
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½Á ......
#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("------------------------------ ......