Pipe is a worm hole connecting C and C++
In C programming language, the observer design pattern is implemented with function pointer (aka callback function). But in Qt library, it introduces signal and slot. How to link a callback function from the C callback function to the C++ siganl and slot is a problem I encounter. Call back function can only be static, but signal and slot can not. There are some triky way to pretend a non-static function to a static function. But the easiest way is to use pipe. the callback function create a pipe and do the read operation, while the siganl function wait for and read at the other end of the pipe.
The pipe is like a worm hole connecting C and C++, two different time and space. How cool!
Ïà¹ØÎĵµ£º
VS2005Öмì²âºÍ¸üÕý C/C++ ´úÂëȱÏÝ
2006-11-26 15:55
VS2005ÖÐÌṩµÄ¼ì²â·½·¨:
1 IDE£¨¼¯³É¿ª·¢»·¾³£©¼¯³É
2 #pragma Ö§³Ö
3 Åú×¢Ö§³Ö
4 ×÷ΪǩÈë²ßÂÔµÄÒ»²¿·ÖÔËÐзÖÎö¹¤¾ß
5 Team System Óë Team Build µÄ¼¯³É
6 ÃüÁîÐÐÖ§³Ö
Ò» ´úÂë·ÖÎö¹¤¾ßÓÃÓÚ¼ì²â³£¼ûµÄ±àÂë´íÎó£¬ÀýÈ绺³åÇøÒç³ö¡¢ÄÚ´æÎ´³õʼ»¯¡¢¿ÕÖ¸Õë ......
BSÓëCSµÄÁªÏµÓëÇø±ð[ת]
5
ÍÆ¼ö
javaÊʺϿª·¢bs½á¹¹£¬cs²»ÊÇËüµÄÇ¿Ïî.
C/SÊÇClient/ServerµÄËõд¡£·þÎñÆ÷ͨ³£²ÉÓøßÐÔÄܵÄPC¡¢¹¤×÷Õ¾»òСÐÍ»ú£¬²¢²ÉÓôóÐÍÊý¾Ý¿âϵͳ£¬ÈçOracle¡¢Sybase¡¢Informix»ò SQL Server¡£¿Í»§¶ËÐèÒª°²×°×¨ÓõĿͻ§¶ËÈí¼þ¡£
B/SÊÇBrower/ServerµÄËõд£¬¿Í»§»úÉÏÖ»Òª°²×°Ò»¸öä¯ÀÀÆ÷£¨Browser£© ......
1¡¢ ¾³£¿´¼ûreturn EXIT_SUCCESS»òreturn EXIT_FAILURE£¬µ«¶¼²»ÖªÕâÁ½¸öÀ´×Ժ䦣¬ÏÖÔÚ²ÅÖªÔÀ´stdlib.h¶¨ÒåÁËEXIT_SUCCESSºÍEXIT_FAILURE·ûºÅ¡£
ÔÚstdlib.hÍ·ÎļþÀ
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
& ......
¡¡¡¡ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉ ......
1¡¢¾Ö²¿±äÁ¿ÄÜ·ñºÍÈ«¾Ö±äÁ¿ÖØÃû£¿ ¡¡
¡¡´ð£ºÄÜ£¬¾Ö²¿»áÆÁ±ÎÈ«¾Ö¡£ÒªÓÃÈ«¾Ö±äÁ¿£¬ÐèҪʹÓÃ"::" ;¾Ö²¿±äÁ¿¿ÉÒÔÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÔÚº¯ÊýÄÚÒýÓÃÕâ¸ö±äÁ¿Ê±£¬»áÓõ½Í¬ÃûµÄ¾Ö²¿±äÁ¿£¬¶ø²»»áÓõ½È«¾Ö±äÁ¿¡£¶ÔÓÚÓÐЩ±àÒëÆ÷¶øÑÔ£¬ÔÚͬһ¸öº¯ÊýÄÚ¿ÉÒÔ¶¨Òå¶à¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬±ÈÈçÔÚÁ½¸öÑ»·ÌåÄÚ¶¼¶¨ÒåÒ»¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬¶øÄÇ ......