Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¹ØÓÚ extern "C"

µ±Õâ¸öÊÀ½ç»¹Ö»ÓÐCµÄʱºò£¬ÊDz»ÐèÒªextern "C"µÄ¡£
µ«ÊÇ£¬µ±C++³öÏÖÖ®ºó£¬ÓÐʱºò£¬ÎÒÃǾÍÐèÒªextern "C"ÁË¡£
ÄǾ¿¾¹ÊÇÔÚʲôÑùµÄÇé¿öÏ£¬ÎÒÃÇÐèÒªÓÃextern "C"ÄØ£¿
ÓÐÈË˵£¬ÊÇΪÁËCÄܹ»µ÷ÓÃC++£¬ÓÐÈË˵ÊÇΪÁËÔÚC++ÖÐÄܵ÷ÓÃCµÄ¿âº¯Êý¡£ÊDz»ÊǰÑÄãŪºýÍ¿ÁË£¿
ÏÈ˵˵extern "C"ÊÇɶ×÷Óðɡ£
extern "C" ÊǸæËßC++±àÒëÆ÷£¬Õâ¸öº¯ÊýÊÇÍêÈ«¼æÈÝCµÄ£¬²»°üº¬C++ÓжøCÖÐûÓеÄÌØÐԵġ£²¢ÇÒ¸æËß±àÒëÆ÷£¬ÔÚÉú³ÉÄ¿±êÎļþµÄʱºò£¬Ê¹ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû¡£
ÉÏÃæÕâ¾ä»°ÓÐÁ½¸öÖØµã£¬
µÚÒ»ÊÇ extern "C" Ö»ÓÐ C++±àÒëÆ÷Èϵã¬C±àÒëÆ÷ÊDz»ÈÏʶµÄ¡£
µÚ¶þÊÇ ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû¡£Ê²Ã´½Ð "ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû"£¿ C++±àÒëÆ÷ºÍC±àÒëÆ÷Éú³Éº¯ÊýÃûµÄ·½Ê½ÊDz»Í¬µÄ¡£ÒòΪC++ÒªÖ§³Öº¯ÊýÖØÔØ£¬ËùÒÔC++±àÒëÆ÷ÔÚÉú³Éº¯ÊýÃûµÄʱºò»á°Ñº¯Êý²ÎÊýµÄÀàÐͼÓÔÚº¯ÊýÃûÖС£¶øC±àÒëÆ÷¾Í±È½Ï¼òµ¥£¬Ö±½ÓÔÚº¯ÊýÃû×Öǰ¼ÓÒ»¸öÏ»®Ï߸㶨¡£
±ÈÈç void foo( int x ); ÕâÑùµÄº¯Êý
C±àÒëÆ÷±àÒë³öÀ´ÔÚ·ûºÅ¿âÖеÄÃû×ÖÊÇ_foo£¬¶øC++±àÒëÆ÷±àÒë³öÀ´ÔÚ·ûºÅ¿âÖеÄÃû×Ö¿ÉÄÜÊÇ _foo_int ÕâÑùµÄ¡£
ÄÇôʹÓà extern "C" ÓÐʲôÒâÒåÄØ£¿
ÎÒ¾õµÃ ”ΪÁËC++ÖÐÄܵ÷ÓÃCµÄ¿âº¯Êý“ ÕâÑùµÄ˵·¨ÊÇÕýÈ·µÄ¡£
Ϊʲô£¿
¿¼ÂÇÏÂÃæµÄÇé¿ö£¬ÄãÓÐÒ»¸öCʵÏֵĿ⣬²¢ÓÃC±àÒëÆ÷±àÒëÉú³É¿âÎļþ¡£
¼ÙÉèÕâ¸ö¿âÀïÓÐÒ»¸öº¯ÊýΪ void foo( int );
ÔÚC++µÄij¸öÀàÖУ¬ÄãÒªÓÃÕâ¸öfooº¯Êý£¬ÄãÔÚC++Ô´ÎļþÖÐÓÃ
extern void foo( int );
ÒýÈë¡£
ÕâÑùÔÚÁ´½ÓµÄʱºò³ö´íÁË¡£
ÒòΪC++±àÒëÆ÷ÔÚ±àÒëC++Ô´ÎļþµÄʱºò£¬ÈÏΪvoid foo( int ); ÔÚ·ûºÅ±íÖÐÓ¦¸ÃÊÇ
_foo_int Õâ¸öÑù×ӵġ£¶øÔÚÁ´½ÓµÄʱºòÕÒ²»µ½_foo_int£¬Ö»ÓÐ_foo¡£ËùÒÔÁ´½Ó³ö´íÁË¡£
Ôõô½â¾öÄØ£¿
extern void foo( int );
¸Ä³É
extern "C" void foo( int );
¾ÍÐÐÀ²¡£
Èç¹ûÊÇÖ±½Óinclude CµÄÍ·ÎļþµÄ£¬ÄÇ¿ÉÒÔÕâÑù
extern "C" {
#include "HeaderOfC.h"
}
ÕâÑùC++±àÒëÆ÷¾ÍÖªµÀ£¬Õâ¸öfooÊÇCµÄº¯Êý£¬Éú³ÉÃû×ÖµÄʱºò²»ÐèÒª´ø²ÎÊý¡£ÕâÑùÁ´½ÓµÄʱºò¾ÍûÎÊÌâÀ²¡£
ÄÇôÔÚ½ñÌ죬ÎÒÃÇдһ¸öCµÄ¿âµÄʱºò£¬µ±È»´æÔÚÎÒÃǵĿⱻC++µÄ³ÌÐòËùʹÓõĿÉÄÜÐÔ¡£
ÎÒÃDz»Ï£ÍûÔÚC++µÄÔ´ÂëÖÐÒýÓÃÎÒÃǵÄÍ·ÎļþµÄʱºò»¹Òª
extern "C" {
#include "yourlib.h"
}
ÕâôÂé·³¡£
ËùÒÔÎÒÃÇÔÚдCµÄ¿âµÄÍ·ÎļþµÄʱºòÖ÷¶¯µÄ¼ÓÉÏÁË extern "C"¡£
µ«ÕâÀïÓÐÒ»¸öÎÊÌ⣬ÒòΪC±àÒëÆ÷²»ÈÏʶextern "C"°¡£¬ËùÒÔ¾ÍÓÐÁË
ºê __cplusplus
¶ÔÓÚC±àÒëÆ÷£¬Ã»Óж¨ÒåÕâ¸öºê£¬¶øC++±àÒëÆ÷¶¨ÒåÁËÕâ¸ö


Ïà¹ØÎĵµ£º

C/C++ ѧϰ±Ê¼Ç[03].È¥µôC·ç¸ñµÄ×¢ÊÍ

ÍøÉÏËÑË÷ÁËÒ»´ó¶ÑÈ¥µô/*ºÍ*/Ö®¼ä×¢Ê͵ĴúÂë,¾ÍÏñ<The C Programming Language>Á·Ï°1-23ÀïÓÐÈË˵µÄÒ»Ñù
´ó²¿·Ö¶¼»á±»ÒÔϵijÌÐòbroken,Õâ¸ö¹¦ÄÜ¿´ÆðÀ´¼òµ¥,ʵ¼ÊÉϺÜÓÐÄѶÈ.ÍøÉÏʵÏֵĴúÂë,³ýÁËÎÒÕÒµ½µÄÒ»¸öÓÃÎļþÖ¸ÕëʵÏÖµÄûÓÐÎÊÌâÍâ,ÆäÓàµÄ¶¼´æÔÚ¸÷ÖÖbug,²»Ðŵϰ¾ÍÓÃÒÔϵijÌÐò²âÊÔÒ»ÏÂ:-),µ±È»Õâ¸ö³ÌÐòÒ²²»¹»ÍêÉÆ ......

SVD·Ö½âCʵÏÖ

int svd(int m,int n,int withu,int withv,double eps,double tol,
double *a, double *q, double *u, double *v, double *vt)
{

int i,j,k,l,l1,iter,retval;
double c,f,g,h,s,x,y,z;
double *e;

e = (double *)calloc(n,sizeof(double));

retval = 0;
/* Cop ......

ÓÃC/C++³ÌÐò¿ØÖÆ»·¾³±äÁ¿

In C++, how do i go about using setenv to set the display?  I need to set it like this:
export DISPLAY=0.0
1¡¢setenv("DISPLAY",":0.1",1);
If you're calling the xrandr functions from your C++ program, then I would expect setenv() should work for you. The 3rd argument of 1 tells setenv() to ov ......

Îļþ´¦Àíº¯ÊýÈçºÎʹÓã¿Ó÷¨¾ÙÀý£¬CÓëMFC


CÓïÑÔ£¬ÓÐʱºòÕæ²»µÃ²»ÅåËü£¬ÕÕÀí˵£¬Îļþ´¦Àíº¯ÊýÊÇûÓÐʲôºÃ½²µÄ£¬µ«¶ÔÓںܶàCÈëÃŵÄÈËÀ´Ëµ£¬ËƺõÒ²ÊÇÖµµÃ¾²ÐÄÆ·Î¶Ò»·¬µÄ¡£
CÖеÄÎļþ´¦Àíº¯Êý²¢²»ºÜ¶à£¬¶ø³£Óõģ¬Ëƺõ¸üÉÙ¡£
º¯Êý²»ÄÑ£¬µ«²¢²»´ú±íÎļþ´¦ÀíÒ²²»ÄÑ¡£ËƺõÓÖÒªÓеãÅÜÌâÁË£¬ÎÒ×ÜÊÇϲ»¶ÅÜÌâ¡£Éϼ¸Ìì×öÃΣ¬Ãε½ÎÒµôµ½ÔÂÇòÉÏÈ¥À²……
¶ÔÎļþµ ......

½ûÖ¹½øÈëcÅÌ

¿ªÊ¼—ÔËÐЗgpedit.msc£¬´ò¿ª×é²ßÂÔ´°¿Ú—Óû§ÅäÖÃϵē¹ÜÀíÄ£°å”—WINDOWS×é¼þ£¬Ë«»÷´ò¿ªWindows×ÊÔ´¹ÜÀíÆ÷£¬È»ºóË«»÷“·ÀÖ¹´ÓÎҵĵçÄÔ·ÃÎÊÇý¶¯Æ÷”£¬´ò¿ª“ÊôÐÔ”´°¿Ú£¬Ñ¡Ôñ“ÒÑÆôÓÔ£¬È»ºóÑ¡Ôñ“½öÏÞÖÆÇý¶¯Æ÷C”£¨Äã¿ÉÒÔ°ÑÄã²»ÏëÈñðÈË´ò¿ªµ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ