c++µ÷ÓÃcʱ»Øµ÷º¯ÊýµÄ´¦Àí
ÔÚc++µ÷ÓÃc³ÌÐòʱ£¬»Øµ÷º¯ÊýÊDz»ÄÜÖ±½ÓʹÓõģ¬ÒÔc++µ÷ÓÃcµÄGtkº¯ÊýΪÀý£¬ ±ÈÈ磬ÔÚg_idle_add (init, NULL);
Õâ¾ä»°ÖУ¬Ò»µ©idle¾Í»áµ÷Óú¯Êýinit(), Õâ¸öinit()»¹»á¶ÔÀàµÄ³ÉÔ±±äÁ¿½øÐд¦Àí¡£
Õâʱ£¬¼ÙÈç°Ñinit()¼òµ¥µØ¶¨ÒåΪÀàµÄÆÕͨ³ÉÔ±º¯Êý¾Í»á³öÏÖÀàÐͲ»Æ¥ÅäµÄ´íÎó£¬ÒòΪg_idle_add()ÒªÇóËüµÄµÚÒ»¸ö²ÎÊý
ÊǸöÆÕͨµÄº¯ÊýÖ¸Õ룬¶øÏÖÔÚÈ´»á±»±àÒëΪGtkScreen::init()º¯ÊýÖ¸Õ룬(¼Ù¶¨ÎÒҪдµÄÀà½Ð×öGtkScreen)¡£
½â¾ö°ì·¨¾ÍÊÇ:
1. ÔÚGtkScreenµÄÍ·ÎļþÖн«º¯Êýinit()ÉùÃ÷ΪstaticµÄ¡£
2. ÔÚÀàµÄʵÏÖÎļþ(GtkScreen.cpp)ÖÐËùÓеĺ¯ÊýÖ®ÍⶨÒåÒ»¸ö¾²Ì¬µÄÖ¸ÏòÀàµÄÖ¸Õë: static GtkScreen* pobject;
3. ÔÚ¹¹Ô캯ÊýÖжÔpobject¸³Öµ: pobjct = this; £¨Êµ¼ÊÉϲ»±ØÒ»¶¨ÔÚ¹¹Ô캯ÊýÖУ¬Ö»ÒªÊDZȵ÷ÓÃÓï¾äÔçÖ´Ðеĵط½¾ÍÐУ©
4. ÔÚÒªµ÷Óõĺ¯Êý(init)ÖÐ, ËùÓÐÀàµÄ³ÉÔ±±äÁ¿Ç°Ã涼¼ÓÉÏpobject->
¾ÍÐÐÀ²¡£
ͬʱҪעÒ⣬ÔÚc++ÖÐinclude cµÄ¿âÎļþ, include Óï¾äµÄÇ°ÃæÒª¼ÓÉÏ
#ifdef __cplusplus
extern "C" {
#endif
ºóÃæÒª¼ÓÉÏ
#ifdef __cplusplus
}
#endif
Ïà¹ØÎĵµ£º
ÉîÈëÀí½â²¢Ó¦ÓÃC51¶Ô±ê×¼ANSICµÄÀ©Õ¹ÊÇѧϰC51µÄ¹Ø¼üÖ®Ò»¡£ÒòΪ´ó¶àÊýÀ©Õ¹¹¦Äܶ¼ÊÇÖ±½ÓÕë¶Ô8051ϵÁÐCPUÓ²¼þµÄ¡£´óÖÂÓÐÒÔÏÂ8 Àࣺ 8051´æ´¢ÀàÐͼ°´æ´¢ÇøÓòl; ´æ´¢Ä£Ê½l´æ´¢Æ÷ÀàÐÍÉùÃ÷l±äÁ¿ÀàÐÍÉùÃ÷l λ±äÁ¿ÓëλѰַl ÌØÊ⹦ÄܼĴæÆ÷(SFR)l C51Ö¸Õël º¯ÊýÊôÐÔ¾ßÌå˵Ã÷ÈçÏÂ(8031ΪȱʡCPU)¡£
µÚÒ»½Ú Keil C ......
ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔÀ´µÄC´úÂëºÍÒѾдºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£ ......
ͻȻ·¢ÏÖ×Ô¼ºÁ¬Ò»Ôª¶þ´Î·½³ÌÔõôËãµÄ¶¼²»ÖªµÀÁË¡£ÏëÁË°ëÌ죬ÄÃÆð±ÊÀ´²Å˳ÊÖЩÁ˸øx2+2x+1=0.»ÚºÞ°¡¡£
#include "iostream"
#include "cmath"
using namespace std;
int main(){
double a,b,c;
double delta,x1,x2;
int sign,stop;
cout<<"ÊäÈë3¸öϵÊýa(a!=0),b,c"<<endl;
cin>>a>>b& ......
[DllImport("kernel32.dll",SetLastError=true)]
[return: MarshalAs( UnmanagedType.Bool )]
static extern bool AllocConsole();
[DllImport("kernel32.dll",SetLastError=true)]
[return: MarshalAs( UnmanagedType.Bool )]
static extern bool FreeConsole();
// Delegate type to be used as the Handler Routin ......