boost.python ¹ØÓÚ´øÖ¸Õë²ÎÊýµÄCº¯ÊýµÄµ¼³ö
Èç¹ûÀûÓÃboost.python µ¼³ö´øÓÐÖ¸Õë²ÎÊýµÄCº¯Êý£¬Ìṩ¸øpython½Å±¾µ÷Óá£
È磺
int func(int * pi)
{
*pi = 3;
cout < < "new pi:" < < *pi < < endl;
return 0£»
}
½«ÒÔÉϺ¯ÊýÀûÓÃboost.pythonµ¼³ö¡£
Èç¹û×ö²»µ½£¬ÄÇÄÜ·ñµ¼³öÒýÓòÎÊýµÄº¯ÊýÄØ£¿
È磺
int func(int & pi)
{
pi = 3;
cout < < "new pi:" < < pi < < endl;
return 0£»
}
Èç¹ûµ¼³ö£¿
pythonÀ©Õ¹ºÍÄÚǶÓкܶàÖÖ·½·¨
¿ÉÒԲο¼´ËÌù·½·¨ http://topic.csdn.net/u/20090914/19/6b2c396a-c4f4-4fc3-9e7c-3fcfba504568.html?80658
ÎұȽÏϲ»¶ÓÃswigµÄ·½·¨À´°ü×°µ¼³ö
ÌùÒ»ÏÂswigµÄ·½·¨
C/C++ code:
/* messagebox.c */
#include <windows.h>
void MsgBox(char* lpszTitle, char* lpszMsg){
MessageBox(NULL, lpszMsg, lpszTitle, MB_OK);
}
±àдmessagebox.i
C/C++ code:
%module messagebox
%{
extern void MsgBox(char* lpszTitle, char* lpszMsg);
%}
extern void MsgBox(char* lpszTitle, char* lpszMsg);
ʹÓÃswigÉú³Émessagebox_wrap.
Ïà¹ØÎÊ´ð£º
ÒÔÇ°ÔÚVCÀïÃ潨һ¸ö¹¤³Ì£¬¶¼Ö»ÓÃÒ»¸ö .c Îļþ£¬×òÌìÔÚÒ»¸ö¹¤³ÌÀïÓÃÁËÁ½¸ö .cÎļþÁË£¬Óöµ½ÎÊÌâÁË£¬Çë´ó¼ÒÖ¸µã¡£±ÈÈ磺
File1.c Fil ......
ÎÒÓÃPHPÀ©Õ¹Cʱ£¬ÓõÄÊÇÔ´ÂëextĿ¼ÏµÄ./ext_skel
×îºó±àÒë×ÜÊDz»ÄÜÉú³ÉÀ©Õ¹Ä£¿éµÄ.so¶¯Ì¬¿â£¬ÎÒÓõİ汾ÊÇ5.3.0£¬
ÕâÊÇÔõô»ØÊ£¬¸ßÊÖ½â´ðÏÂ
²»ÄÜÉú³ÉʱÓÐɶÌáʾÐÅÏ¢£¿
ÔËÐÐÁË/ext_skel --extname=Ä ......
'\108'×÷Ϊ×Ö·û³£Á¿¶Ô²»¶Ô£¿
תÒå×Ö·û'\ddd'±íʾ3λ8½øÖÆËù´ú±íµÄ×Ö·û¡£ µ«ÊÇ108²»ÊÇÕýÈ·µÄ8½øÖƱíʾ·½·¨£¬Òò´ËÓ¦¸ÃÊÇ´íÎóµÄ¡£
µ«ÊÇchar a='\108'; Ϊʲô±àÒë²»³ö´íÄØ£¿
\108 û³¬¹ý ......
#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}
½á¹ûÊÇ£º2367460
Ϊʲô£¿
printf("sum is %d\n", ......