/*
title£ºÔ¼Éª·òÎÊÌâµÄÑ»·Á´±í½â·¨
author£ºcoolsky600
date£º2010 04 22
notice£ºcÓïÑÔ ÃæÏò¹ý³Ì
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int num; //È«¾Ö±äÁ¿Î§È¦ÈËÊý
int out; //³öÈ¥µÄ³õʼºÅÂë
typedef struct Node //¶¨Òå×ùλ½á¹¹Ìå
{
int num;
struct Node *next;
};
Node *creat() //³õʼ»¯Ñ»·Á´±í
{
extern int num; //ÉùÃ÷È«¾Ö±äÁ¿
extern int out; //ÉùÃ÷È«¾Ö±äÁ¿
int i,flag=0;
Node *p1,*p2,*head;
printf("Ò»¹²¼¸¸öÈËΧȦ£¿");
scanf("%d",&num);
printf("¿ªÊ¼µÚ¼¸¸ö³öÈ¥£¿");
scanf("%d",&out);
head=p1=p2=(Node *)malloc(sizeof(Node));
head->num=0; //µÚÒ»¸ö½Ú ......
/*
title£ºÔ¼Éª·òÎÊÌâµÄÑ»·Á´±í½â·¨
author£ºcoolsky600
date£º2010 04 22
notice£ºcÓïÑÔ ÃæÏò¹ý³Ì
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int num; //È«¾Ö±äÁ¿Î§È¦ÈËÊý
int out; //³öÈ¥µÄ³õʼºÅÂë
typedef struct Node //¶¨Òå×ùλ½á¹¹Ìå
{
int num;
struct Node *next;
};
Node *creat() //³õʼ»¯Ñ»·Á´±í
{
extern int num; //ÉùÃ÷È«¾Ö±äÁ¿
extern int out; //ÉùÃ÷È«¾Ö±äÁ¿
int i,flag=0;
Node *p1,*p2,*head;
printf("Ò»¹²¼¸¸öÈËΧȦ£¿");
scanf("%d",&num);
printf("¿ªÊ¼µÚ¼¸¸ö³öÈ¥£¿");
scanf("%d",&out);
head=p1=p2=(Node *)malloc(sizeof(Node));
head->num=0; //µÚÒ»¸ö½Ú ......
×î½ü¶Ô»ù´¡ÖªÊ¶½øÐÐÁËѧϰ£¬·¢ÏÖÒÔÇ°ºÜ¶à¶«Î÷¶¼Ã»ÓиãÇå³þ
1. ±àÒëµÄÎÊÌ⣬ͷÎļþÖ÷ÒªÊǶ¨Òå
//////// add.c
int add(int a, int b)
{
return a + b;
}
///////// main.c
#include <stdio.h>
int add(int a, int b);
int main ()
{
printf("%d", add(1, 2));
return 0;
}
ÕâÊÇ¿ÉÒÔÕýÈ·±àÒëÖ´Ðеģ¬Ã»ÓÐʹÓÃÍ·Îļþ
2. ¼Ì³ÐµÄһЩ֪ʶµã
ÅÉÉúÀàÏò»ùÀà¶ÔÏó¸³ÖµÊ±£¬¸ø»ùÀà±äÁ¿´«ÈëµÄÊý¾ÝÊÇÆä±¾Éí»ùÀàµÄ¶ÔÓ¦µÄÊý¾Ý ......
×î½ü¶Ô»ù´¡ÖªÊ¶½øÐÐÁËѧϰ£¬·¢ÏÖÒÔÇ°ºÜ¶à¶«Î÷¶¼Ã»ÓиãÇå³þ
1. ±àÒëµÄÎÊÌ⣬ͷÎļþÖ÷ÒªÊǶ¨Òå
//////// add.c
int add(int a, int b)
{
return a + b;
}
///////// main.c
#include <stdio.h>
int add(int a, int b);
int main ()
{
printf("%d", add(1, 2));
return 0;
}
ÕâÊÇ¿ÉÒÔÕýÈ·±àÒëÖ´Ðеģ¬Ã»ÓÐʹÓÃÍ·Îļþ
2. ¼Ì³ÐµÄһЩ֪ʶµã
ÅÉÉúÀàÏò»ùÀà¶ÔÏó¸³ÖµÊ±£¬¸ø»ùÀà±äÁ¿´«ÈëµÄÊý¾ÝÊÇÆä±¾Éí»ùÀàµÄ¶ÔÓ¦µÄÊý¾Ý ......
·½°¸Ò»£º
// html & JavaScript
...
<button value="Click me"
onclick="window.navigate('app:command&arg1=1&arg2=2')" />
...
// C++: ÏìÓ¦ µÄÏûÏ¢º¯ÊýOnBeforeNavigat2
virtual void OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel );
// C++ code goes here
CXXXDlg::OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel )
{
CString strUrl = lpszURL;
if(strUrl.Left(4) == _T("app:"))
{
// cancel the common url navigate and call your c++ code here
*pbCancel = TURE;
// call other c++ function here or parse the argument in the strUrl
}
// go common url navigate here
}
·½°¸¶þ£º
// html & javaScript
...
function CallCpp()
{
alert('start to call cpp here');
window.external.JavaScriptCallC ......
·½°¸Ò»£º
// html & JavaScript
...
<button value="Click me"
onclick="window.navigate('app:command&arg1=1&arg2=2')" />
...
// C++: ÏìÓ¦ µÄÏûÏ¢º¯ÊýOnBeforeNavigat2
virtual void OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel );
// C++ code goes here
CXXXDlg::OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel )
{
CString strUrl = lpszURL;
if(strUrl.Left(4) == _T("app:"))
{
// cancel the common url navigate and call your c++ code here
*pbCancel = TURE;
// call other c++ function here or parse the argument in the strUrl
}
// go common url navigate here
}
·½°¸¶þ£º
// html & javaScript
...
function CallCpp()
{
alert('start to call cpp here');
window.external.JavaScriptCallC ......
תCºÍ»ã±à»ìºÏ±à³Ì
.dataÊdzõʼ»¯µÄÊý¾Ý¿é¡£ÕâЩÊý¾Ý°üÀ¨±àÒëʱ±»³õʼ»¯µÄglobleºÍstatic±äÁ¿£¬Ò²°üÀ¨×Ö·û´®¡£
Á¬½ÓÆ÷½«OBJs¼°LIBsÎļþµÄ.data½áºÏ³ÉÒ»¸ö´óµÄ.data¡£local±äÁ¿ÒÔ·ÅÔÚÒ»¸öÏßÐԵĶÑÕ»ÖУ¬
²»Õ¼.dataºÍ.bssµÄ¿Õ¼ä¡£ºÍ.textÒ»Ñù£¬Êý¾Ý¿éÊÇÒÔÃ÷ÎĵÄÐÎʽ´æ·ÅÔÚÎļþÖеġ£ÎÞ·¨·ÀÖ¹¶ÔÆäÎïÀíµÄÐ޸ġ£
.bssÇøÊÇ´æ·Åδ³õʼ»¯È«¾ÖºÍ¾²Ì¬±äÁ¿µÄ¡£
ÔÚCºÍ»ã±à»ìºÏ±à³ÌµÄʱºò£¬´æÔÚCÓïÑԺͻã±àÓïÑԵıäÁ¿ÒÔ¼°º¯ÊýµÄ½Ó¿ÚÎÊÌâ¡£
ÔÚC³ÌÐòÖж¨ÒåµÄ±äÁ¿£¬±àÒëΪ.asmÎļþºó£¬¶¼±»·Å½øÁË.bssÇø£¬¶øÇÒ±äÁ¿ÃûµÄÇ°Ã涼´øÁËÒ»¸öÏ»®Ïß¡£ÔÚC³ÌÐòÖж¨ÒåµÄº¯Êý£¬±àÒëºóÔÚº¯ÊýÃûÇ°Ò²´øÁËÒ»¸öÏ»®Ïß¡£ÀýÈ磺
extern int num¾Í»á±ä³É .bss _num, 1
extern float nums[5]¾Í»á±ä³É.bss _nums, 5
extern void func ( )¾Í»á±ä³É _func,
º¯ÊýÉùÃ÷: CÖÐÔÚº¯ÊýÇ°¼ÓexternÉùÃ÷´Ëº¯ÊýΪÍⲿº¯Êý£¬ÔÚ»ã±àÖÐÒªÉùÃ÷º¯ÊýÃûΪȫ¾Ö±äÁ¿£¬È磺
extern void delay(void) ; /*in C*/
globl delay ; in asm
_delay: ; delay function begins
£¨1£© »ã±à³ÌÐòÖзÃÎÊc³ÌÐòÖеıäÁ¿ºÍº¯Êý¡£
ÔÚ»ã±à³ÌÐòÖУ¬ÓÃ_XX¾Í¿ÉÒÔ·ÃÎÊCÖеıä ......
תCºÍ»ã±à»ìºÏ±à³Ì
.dataÊdzõʼ»¯µÄÊý¾Ý¿é¡£ÕâЩÊý¾Ý°üÀ¨±àÒëʱ±»³õʼ»¯µÄglobleºÍstatic±äÁ¿£¬Ò²°üÀ¨×Ö·û´®¡£
Á¬½ÓÆ÷½«OBJs¼°LIBsÎļþµÄ.data½áºÏ³ÉÒ»¸ö´óµÄ.data¡£local±äÁ¿ÒÔ·ÅÔÚÒ»¸öÏßÐԵĶÑÕ»ÖУ¬
²»Õ¼.dataºÍ.bssµÄ¿Õ¼ä¡£ºÍ.textÒ»Ñù£¬Êý¾Ý¿éÊÇÒÔÃ÷ÎĵÄÐÎʽ´æ·ÅÔÚÎļþÖеġ£ÎÞ·¨·ÀÖ¹¶ÔÆäÎïÀíµÄÐ޸ġ£
.bssÇøÊÇ´æ·Åδ³õʼ»¯È«¾ÖºÍ¾²Ì¬±äÁ¿µÄ¡£
ÔÚCºÍ»ã±à»ìºÏ±à³ÌµÄʱºò£¬´æÔÚCÓïÑԺͻã±àÓïÑԵıäÁ¿ÒÔ¼°º¯ÊýµÄ½Ó¿ÚÎÊÌâ¡£
ÔÚC³ÌÐòÖж¨ÒåµÄ±äÁ¿£¬±àÒëΪ.asmÎļþºó£¬¶¼±»·Å½øÁË.bssÇø£¬¶øÇÒ±äÁ¿ÃûµÄÇ°Ã涼´øÁËÒ»¸öÏ»®Ïß¡£ÔÚC³ÌÐòÖж¨ÒåµÄº¯Êý£¬±àÒëºóÔÚº¯ÊýÃûÇ°Ò²´øÁËÒ»¸öÏ»®Ïß¡£ÀýÈ磺
extern int num¾Í»á±ä³É .bss _num, 1
extern float nums[5]¾Í»á±ä³É.bss _nums, 5
extern void func ( )¾Í»á±ä³É _func,
º¯ÊýÉùÃ÷: CÖÐÔÚº¯ÊýÇ°¼ÓexternÉùÃ÷´Ëº¯ÊýΪÍⲿº¯Êý£¬ÔÚ»ã±àÖÐÒªÉùÃ÷º¯ÊýÃûΪȫ¾Ö±äÁ¿£¬È磺
extern void delay(void) ; /*in C*/
globl delay ; in asm
_delay: ; delay function begins
£¨1£© »ã±à³ÌÐòÖзÃÎÊc³ÌÐòÖеıäÁ¿ºÍº¯Êý¡£
ÔÚ»ã±à³ÌÐòÖУ¬ÓÃ_XX¾Í¿ÉÒÔ·ÃÎÊCÖеıä ......
±êÇ©£º
it
·ÖÀࣺC/C++
ÎҵĻØÒäºÍÓÐȤµÄ¹ÊÊ --- C/C++ʥսƪ
Àîά
------------------------------------------------------------------------------------------
ÉùÃ÷
ÒÔϵÄÕâƪÎÄÕÂÄÚÈÝÊÇÎÒ¸öÈ˵ĻØÒäÒÔ¼°¿´·¨£¬Ã»ÓÐÈκÎÌرðµÄÆ«¼û£¬Ðí¶àµÄÊÂÇéÊǸù¾ÝÎҵļÇÒäÒÔ¼°´ÓÐí¶àÈ˵ÄËß˵ÖеÃÖªµÄ£¬Ò²ÐíÄÚÈݲ»ÊÇ°Ù·ÖÖ®°ÙµÄÕýÈ·£¬²»¹ýÎÒÏëÕâЩÄÚÈÝÓÐÒ»¶¨µÄ¿ÉÐŶȵ½ÊÇ¿ÉÒÔ±£Ö¤µÄ¡£µ±È»ÓÐһЩÊÂÇéÈ·¶¨µÄ·¢Éúʱ¼äºÍ˳Ðò²»Ò»¶¨¶¼ºÍÎҵļÇÒäÒ»Ö£¬²»¹ýÎÒÏë´ó²¿·ÝÓ¦¸ÃÊÇÏàÈ¥²»Ô¶µÄ¡£µ±È»¸÷λÈç¹ûÖªµÀÈ·¶¨µÄʼþ¶øÎҵļÇÒäÓÐÎó£¬ÄÇôÎÒ½«·Ç³£»¶ÓÄú¾ÀÕýÎÒ£¬ÎÒÏ£ÍûÕâЩ¹ÊʵľÀúÄܹ»Ò»Ö±ÅãÎÒ×ßÏÂÈ¥£¬Ð»Ð»¡£
-----------------------------------------------------------------------------------------------------------------------------------
Ò»Ö±ÏëдһƪÎÒ¸öÈËÔÚ¹ýÈ¥10¶àÄêÀ´¹¤×÷ÖоÀúµÄһЩÊÂÇ飬ÒÔ¼°¿´×ÅһЩÎÒÈÏΪÊÇΰ´óµÄ¹¤³ÌʦÔÚÕâЩÈÕ×ÓÖжÔÓÚÐÅÏ¢½çµÄ¹±Ïס£Èç¹ûÄãºÍÎÒµÄÄêÁä²î²»¶à£¬ÄÇôÄã¿ÉÄÜ»á¶ÔÓÚÕâЩÄÚÈݺÜÓÐÐËȤ£¬ÒòΪËüÃÇ˵Ã÷Á˵±Ê±Ðí¶àÈí¼þµÄÐËÆðºÍûÂäµÄ¹ý³ÌÒÔ¼°ÔÒò¡£ËäÈ»ÕâЩÊÂÇéÒѾ¾àÀëÎÒÃǺÜÒ£Ô¶ÁË£¬µ«ÊÇÎÒÏàÐÅÐí¶àÈËÈÔÈ»¶ÔÓÚ±³ºóµÄ¹ÊÊÂÓÐÐËȤ¡ ......
±êÇ©£º
it
·ÖÀࣺC/C++
ÎҵĻØÒäºÍÓÐȤµÄ¹ÊÊ --- C/C++ʥսƪ
Àîά
------------------------------------------------------------------------------------------
ÉùÃ÷
ÒÔϵÄÕâƪÎÄÕÂÄÚÈÝÊÇÎÒ¸öÈ˵ĻØÒäÒÔ¼°¿´·¨£¬Ã»ÓÐÈκÎÌرðµÄÆ«¼û£¬Ðí¶àµÄÊÂÇéÊǸù¾ÝÎҵļÇÒäÒÔ¼°´ÓÐí¶àÈ˵ÄËß˵ÖеÃÖªµÄ£¬Ò²ÐíÄÚÈݲ»ÊÇ°Ù·ÖÖ®°ÙµÄÕýÈ·£¬²»¹ýÎÒÏëÕâЩÄÚÈÝÓÐÒ»¶¨µÄ¿ÉÐŶȵ½ÊÇ¿ÉÒÔ±£Ö¤µÄ¡£µ±È»ÓÐһЩÊÂÇéÈ·¶¨µÄ·¢Éúʱ¼äºÍ˳Ðò²»Ò»¶¨¶¼ºÍÎҵļÇÒäÒ»Ö£¬²»¹ýÎÒÏë´ó²¿·ÝÓ¦¸ÃÊÇÏàÈ¥²»Ô¶µÄ¡£µ±È»¸÷λÈç¹ûÖªµÀÈ·¶¨µÄʼþ¶øÎҵļÇÒäÓÐÎó£¬ÄÇôÎÒ½«·Ç³£»¶ÓÄú¾ÀÕýÎÒ£¬ÎÒÏ£ÍûÕâЩ¹ÊʵľÀúÄܹ»Ò»Ö±ÅãÎÒ×ßÏÂÈ¥£¬Ð»Ð»¡£
-----------------------------------------------------------------------------------------------------------------------------------
Ò»Ö±ÏëдһƪÎÒ¸öÈËÔÚ¹ýÈ¥10¶àÄêÀ´¹¤×÷ÖоÀúµÄһЩÊÂÇ飬ÒÔ¼°¿´×ÅһЩÎÒÈÏΪÊÇΰ´óµÄ¹¤³ÌʦÔÚÕâЩÈÕ×ÓÖжÔÓÚÐÅÏ¢½çµÄ¹±Ïס£Èç¹ûÄãºÍÎÒµÄÄêÁä²î²»¶à£¬ÄÇôÄã¿ÉÄÜ»á¶ÔÓÚÕâЩÄÚÈݺÜÓÐÐËȤ£¬ÒòΪËüÃÇ˵Ã÷Á˵±Ê±Ðí¶àÈí¼þµÄÐËÆðºÍûÂäµÄ¹ý³ÌÒÔ¼°ÔÒò¡£ËäÈ»ÕâЩÊÂÇéÒѾ¾àÀëÎÒÃǺÜÒ£Ô¶ÁË£¬µ«ÊÇÎÒÏàÐÅÐí¶àÈËÈÔÈ»¶ÔÓÚ±³ºóµÄ¹ÊÊÂÓÐÐËȤ¡ ......
ODBCºÍIDAPIÖ®Õù
µ±MicrosoftÔÚÖ𽥵Ļ÷°ÜËûµÄ¾ºÕù¶ÔÊÖ£¬²¢ÇÒÓµÓÐÁ˴󲿷ÝPCÊý¾Ý¿âÊг¡Ö®ºó£¬±ãÂýÂýµÄÁ˽⵽ÕÆÎÕ±ê×¼µÄÖØÒªÐÔ¡£´ËÍâMicrosoftΪÁËͳһ¸÷Ó¦ÓóÌÐòÖ®¼ä²»Í¬×ÊÁϵĴæÈ¡£¬Òò´Ë¿ªÊ¼Öƶ¨´æÈ¡×ÊÁϵÄͳһ±ê×¼-ODBC¡£Microsoft¸ü´óµÄÄ¿µÄÊÇΪÁË×¼±¸ºÍÃé×¼ÏÂÒ»³¡µÄ´óÕ½£¬ÄǾÍÊÇPCÉϵÄRDBMS²úÆ·¡£µ±È»Microsoft Ҫһͳ×ÊÁÏ´æÈ¡µÄ½É½£¬Borland²»Í¬Ò⣬ÆäʱһÐÄÏë´ÓMicrosoft°â»ØÒ»³ÇµÄIBMÒ²²»Í¬Ò⣬¶øNovell¸üÊǺ¦Å£¬ÒòΪNovellÅ Microsoft³É¹¦Ö®ºóNetware»áÏûʧµÃ¸ü¿ì¡£ÓÚÊÇIBM£¬NovellºÍBorlandÒÔ¼°Ò»Ð©ÆäËüµÄС³§±ã¾Û¼¯ÔÚÒ»Æ𣬾ö¶¨Ò²Öƶ¨Ò»Ì×´æÈ¡×ÊÁϵıê×¼½Ó¿ÚÀ´ºÍMicrosoft¶Ô¿¹£¬Õâ¾ÍÊÇIDAPI¡£´ËʱҲÕýʽ½Ò¿ªÁËODBCºÍIDAPI¾ºÕùµÄÐòÄ»¡£²»¹ýIBM£¬NovellºÍBorlandµÄ½áºÏºÜ¿ìµÄ¾ÍÖ¤Ã÷ÊÇʧ°ÜµÄ£¬ÒòΪ¾ÍÏñÉÔºó˵Ã÷µÄÒ»Ñù£¬IBMÔÚPCÈí¼þÉϵķ¢Õ¹Ò»Ö±ÊÇÈýÐĶþÒ⣬·´·´¸´¸´£¬Òò´Ëµ±IDAPI 1.0µÄ¹æ¸ñ³öÀ´Ö®ºó£¬IBMÕâλÀÏÐÖÓÖʧȥÁ˺ÍMicrosoft¶Ô¿¹µÄÐËȤ£¬ÓÚÊǾÍÍ˳öÁËIDAPIÁªÃË¡£ÖÁÓÚNovell¾Í¸ü²»ÓÃ˵ÁË£¬Novell¶ÔÓÚºÍMicrosoftÒ»ÏòÊÇ¡ºËµËµ¿ÉÒÔ£¬Õæ´ò²»ÐС»£¬Ò»¶¨ÒªÕÒµ½Ò»Èº³§É̲ŸҺÍMicrosoft¶Ô¿¹¡£NovellÔÚÑÛ¿´IBMÍ˳öÖ®ºó£¬Ò²ÂíÉϲ»Õ½¶ø½µ£¬ºÜ¿ìµÄ¾ÍÒ²Í˳öIDAPIÁªÃË£¬ ......
ODBCºÍIDAPIÖ®Õù
µ±MicrosoftÔÚÖ𽥵Ļ÷°ÜËûµÄ¾ºÕù¶ÔÊÖ£¬²¢ÇÒÓµÓÐÁ˴󲿷ÝPCÊý¾Ý¿âÊг¡Ö®ºó£¬±ãÂýÂýµÄÁ˽⵽ÕÆÎÕ±ê×¼µÄÖØÒªÐÔ¡£´ËÍâMicrosoftΪÁËͳһ¸÷Ó¦ÓóÌÐòÖ®¼ä²»Í¬×ÊÁϵĴæÈ¡£¬Òò´Ë¿ªÊ¼Öƶ¨´æÈ¡×ÊÁϵÄͳһ±ê×¼-ODBC¡£Microsoft¸ü´óµÄÄ¿µÄÊÇΪÁË×¼±¸ºÍÃé×¼ÏÂÒ»³¡µÄ´óÕ½£¬ÄǾÍÊÇPCÉϵÄRDBMS²úÆ·¡£µ±È»Microsoft Ҫһͳ×ÊÁÏ´æÈ¡µÄ½É½£¬Borland²»Í¬Ò⣬ÆäʱһÐÄÏë´ÓMicrosoft°â»ØÒ»³ÇµÄIBMÒ²²»Í¬Ò⣬¶øNovell¸üÊǺ¦Å£¬ÒòΪNovellÅ Microsoft³É¹¦Ö®ºóNetware»áÏûʧµÃ¸ü¿ì¡£ÓÚÊÇIBM£¬NovellºÍBorlandÒÔ¼°Ò»Ð©ÆäËüµÄС³§±ã¾Û¼¯ÔÚÒ»Æ𣬾ö¶¨Ò²Öƶ¨Ò»Ì×´æÈ¡×ÊÁϵıê×¼½Ó¿ÚÀ´ºÍMicrosoft¶Ô¿¹£¬Õâ¾ÍÊÇIDAPI¡£´ËʱҲÕýʽ½Ò¿ªÁËODBCºÍIDAPI¾ºÕùµÄÐòÄ»¡£²»¹ýIBM£¬NovellºÍBorlandµÄ½áºÏºÜ¿ìµÄ¾ÍÖ¤Ã÷ÊÇʧ°ÜµÄ£¬ÒòΪ¾ÍÏñÉÔºó˵Ã÷µÄÒ»Ñù£¬IBMÔÚPCÈí¼þÉϵķ¢Õ¹Ò»Ö±ÊÇÈýÐĶþÒ⣬·´·´¸´¸´£¬Òò´Ëµ±IDAPI 1.0µÄ¹æ¸ñ³öÀ´Ö®ºó£¬IBMÕâλÀÏÐÖÓÖʧȥÁ˺ÍMicrosoft¶Ô¿¹µÄÐËȤ£¬ÓÚÊǾÍÍ˳öÁËIDAPIÁªÃË¡£ÖÁÓÚNovell¾Í¸ü²»ÓÃ˵ÁË£¬Novell¶ÔÓÚºÍMicrosoftÒ»ÏòÊÇ¡ºËµËµ¿ÉÒÔ£¬Õæ´ò²»ÐС»£¬Ò»¶¨ÒªÕÒµ½Ò»Èº³§É̲ŸҺÍMicrosoft¶Ô¿¹¡£NovellÔÚÑÛ¿´IBMÍ˳öÖ®ºó£¬Ò²ÂíÉϲ»Õ½¶ø½µ£¬ºÜ¿ìµÄ¾ÍÒ²Í˳öIDAPIÁªÃË£¬ ......