C++ÓëC½øÐÐÏ໥º¯Êýµ÷Óã¬extern¹Ø¼ü´ÊµÄÃîÓÃ
extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
·Ö±ð´æÎªtest.cc,test.c£¬·Ö±ð½øÐбàÒëÉú³ÉobjectÎļþ£º
g++ -c test.cc -o testcc
gcc -c test.c -o testc
ʹÓÃnmÃüÁî²é¿´Éú³ÉµÄobjectÎļþµÄ²»Í¬ÔÚÄĸöµØ·½£º
nm testcc
00000000 T _Z4funci
U __gxx_personality_v0
nm testc
00000000 T func
¿´³öÀ´Á˰ɣ¬C++±àÒëÆ÷°Ñ²ÎÊýÐÅÏ¢±àÒëºó·Åµ½Á˺¯ÊýµÄ¶ÔÏóÃû×ÖÀïÃæ£¨ÎªÁËʵÏÖ¶à̬£©£¬ËùÒÔ²»ÄÜ»¥ÏàÖ±½Óµ÷Óá£
ÖªµÀÁËÔÒò£¬½â¾öµÄ°ì·¨×ÔÈ»¾ÍÓÐÁË£¬Ö»Òª¸æËßÁ´½Ó³ÌÐò£¬ÄãÁ´½ÓµÄobjectµÄÃüÃû·½Ê½£¬Ëü¾Í»á°ïÄã×ö²»Ò»ÑùµÄ²éÕÒ£¬´Ó¶øÕÒµ½C»òÕßC++ÀïÃæµÄº¯ÊýÁË¡£
±ÈÈ磺
ÒªÈÃC++Äܹ»µ÷ÓÃCµÄº¯Êý£º
main.cc
extern "C"
{
int func(int i);
}
int main(void)
{
func(1);
}
½øÐбàÒëÁ´½Ó£º
g++ main.cc test.c
ÒªÈÃCÄܹ»µ÷ÓÃC++µÄº¯Êý£¬ÉÔ΢ÓÐЩ²»Í¬£º
main.c:
extern int func(int i);
int main(void)
{
func(1);
}
ÐèÒªÐÞ¸Ätest.ccµÄÔ´Îļþ£º
extern "C"
{
int func(int i);
}
int func(int i)
{
return 1;
}
¾Í¿ÉÒÔÁË
Ïà¹ØÎĵµ£º
/*
* ¸Ã¹¦ÄÜÖ÷ÒªÊÇÑÝʾ£¬Í¬Ê±Á¬½ÓÁ½¸ö²¢·¢µÄÊý¾Ý¿â
*/
/* °üº¬CÍ·Îļþ */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/* °üº¬SQLCAÍ·Îļþ */
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE sqlda;
int main()
{
EXEC SQL BEGIN DE ......
(À´Ô´£ºjava±à³Ì˼Ïë)
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒì¡£¿ÉÒÔÕâÑù˵£¬ÕâЩ²îÒì´ú±í׿¼ÊõµÄ¼«´ó½ø²½¡£Ò»µ©ÎÒÃÇŪÇå³þÁËÕâЩ²îÒ죬¾Í»áÀí½âΪʲô˵Ja ......
Æäʵ¾ÍÊÇ´´½¨ÆÕͨÎļþ, CreateFile() ºÍWriteFile. È»ºóÓÃShellExcuteEx()À´´ò¿ª¾ÍÐÐÁË(»á×Ô¶¯µ÷ÓÃIE).
HANDLE handle;
handle=CreateFile(L"\\windows\\google.html",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(INVALID_HANDLE_VALUE!= handle )
{
DWORD Num;
::WriteF ......
ÔÚC++ÖУ¬¿âµÄµØÎ»ÊǷdz£¸ßµÄ¡£C++Ö®¸¸ Bjarne StroustrupÏÈÉú¶à´Î±íʾÁËÉè¼Æ¿âÀ´À©³ä¹¦ÄÜÒªºÃ¹ýÉè¼Æ¸ü¶àµÄÓï·¨µÄÑÔÂÛ¡£ÏÖʵÖУ¬C++µÄ¿âÃÅÀà·±¶à£¬½â¾öµÄÎÊÌâÒ²ÊǼ«Æä¹ã·º£¬¿â´ÓÇáÁ¿¼¶µ½ÖØÁ¿¼¶µÄ¶¼ÓС£²»ÉÙ¶¼ÊÇÈÃÈËÑÛ½ç´ó¿ª£¬Òà»òÊÇÍû¶øÉú̾µÄ˼ά½Ü×÷¡£ÓÉÓÚ¿âµÄÊýÁ¿·Ç³£ÅӴ󣬶øÇÒÏÞÓÚ±ÊÕßˮƽ£¬ÆäÖкܶಢ²»Á˽⡣ËùÒÔÎÄÖ ......