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
Ïà¹ØÎĵµ£º
ÔÎĵØÖ·£ºhttp://westsoftware.blog.163.com/blog/static/2609410920091953456841/
×î½üÒ»Ö±ÔÚ¿´Andrew KoeningдµÄÊé¼®£¬¿ÉÒÔ˵ѧϰC/C++»òÕß´ÓÊÂÕâ·½ÃæµÄ¿ª·¢µÄÈËÔ±·Ç³£ÖµµÃÒ»¿´µÄÊé¼®£¬ÕâÀïÎÒÍÆ¼ö¿´¿´¡¶CÏÝÚåÓëȱÏÝ¡·Óë¡¶C/C++³Á˼¼¡·¡£
ÕâÀïÏÈÀ´¿´¿ ......
1¡¢CºÍC++¹»±¿£¬±ÆµÄ³ÌÐòÔ±×Ô¼º×öºÜ¶àÊ¡£
CÆäʵ´ó¼Ò¶¼ÖªµÀ£¬ÊÇÒ»ÃÅÖеͼ¶ÓïÑÔ£¬±£ÁôÁËÖ¸ÕëµÈ»ã±àÌØÕ÷£¬Óëϵͳµ×²ã½áºÏÃÜÇС£C++ÄØ£¬¸ü¶àµÄÏò¸öObject C£¬¼´ÃæÏò¶ÔÏóµÄC¡£µ«ÕâЩ£¬Æäʵ²¢²»Äܹ»ÈóÌÐòÔ±ÏԵúÜÅ£¡£
ÎÒ¸öÈ˵ÄÀí½â£¬Ö®ËùÒÔCºÍC++³ÌÐòÔ±ÏԵúÜÅ££¬ÆäʵÔÒòºÍ´ó¼ÒÏëÏñµÄÕýºÃÏà·´£¬²»ÊÇÒòΪCºÍC++̫ǿ´ó£¬¶øÊÇÕâ ......
ת×Ô£ºhttp://blog.csdn.net/Lambol_8309/archive/2009/09/06/4524453.aspx
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ ......
int main()
{
printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);
}
gcc -S±àÒë³É»ã±à´úÂëÈçÏÂ:
.file "test.c"
.section .rodata
.LC0:
&nbs ......
static char *file2memory(FILE *file, long *size)
{
char buffer[1024];
char *string=NULL;
char *newstring=NULL;
long len=0;
long stringlen=0;
if(file) {
while((len = fread(buffer, 1, sizeof(buffer), f ......