Xen Demo C
¶ÔÓÚxenµÄÐéÄ⻯¹ÜÀí£¬´ó¼Ò¶¼ÔÚÓÃÊ²Ã´ÄØ£¿ÎÒÕæµÄÏëÖªµÀÊDz»ÊÇ´ó¼Ò¶¼ÓÃxmÀ´½øÐйÜÀíÄØ£¿ÖÁÉÙÎÒÏë´ó¶àÊý½ö½öÏëÁ˽âһϵÄÅóÓÑ¿ÉÄÜÓÃÏÂxmÒ²¾ÍËãÊÇÁ˽âÁË¡£¶øÇÒÔÚxenµÄÓû§ÊÖ²áÀïÃæÒ²½ö½ö½éÉÜÁËÒ»ÏÂxmµÄʹÓ÷½·¨£¬¹ØÓÚÔõôʹÓÃËüµÄc½Ó¿ÚÀ´¹ÜÀíÐéÄ⻯·½ÃæµÄ½éÉÜÖ»×ÖδÌá¡£
ÎÒ²»½ö½öÏëÓÃxmÕâ¸ö¹¤¾ßÀ´´´½¨É¾³ý¹ÜÀíÎÒµÄÐéÄâ»ú£¬ÎÒÏëдµã×Ô¼ºµÄ³ÌÐòÀ´¹ÜÀíÎÒµÄÐéÄ⻯³ÌÐò¡£µ«ÊÇÎÒ·¢ÏÖÕâ¸öÕæµÄ±È½ÏÄÑ£¬¾¿¾¹ÄÑÔÚÄÄÀïÄØ£¿¾ÍÎÒÒÔǰµÄ¾Ñ飬Èç¹ûÏëʹÓÃÒ»¸ö¿â½øÐпª·¢£¬ÎÒÊ×ÏÈÕÒÕÒÀý×Ó£¬È»ºó¿´¿´apiÎĵµ£¬×îºóʵ¼ù¡£µ«ÊÇÎÒͨ³£×ö·¨µÄǰÁ½²½ÎÒ¾ÓȻûÓÐÕÒµ½£¬·±éÁËÕû¸ö»¥ÁªÍø£¬ÕÒµ½µÄ¾ÍÊÇÒ»¸ö²»ÂúÒâµÄapiÎĵµ¡£¶øÇÒ˵ʵ»°Õâ¸öÎĵµÎÒ¾õµÃÌ«¼òªÁË£¬ÖÁÉÙ¼òªµ½ÎÒ¿´ÁË»¹ÊDz»ÖªµÀÈçºÎдһ¸ö´´½¨ÐéÄâ»úµÄc³ÌÐò¡£Ã»Óа취£¬Ö»ÄÜ·ÖÎöxmµÄÔ´´úÂ룬¶ÔÓÚÎÒÕâ¸ö¶Ôpython²»ÔõôÁ˽âµÄÈË£¬Ïë¿´Ëü»¹ÊDz»ÈÝÒ׵ġ£²»¹ý¹¦·ò²»¸ºÓÐÐÄÈË£¬ÎÒÖÕÓÚʵÏÖÁËʹÓÃC´úÂë´´½¨Ò»¸öHVMÐéÄâ»úµÄ³ÌÐò¡£ÏÖÔھͰÑËü·ÖÏí¸ø´ó¼Ò¡£
ÎÄÖÐÓÐЩÄÚÈÝÎÒҲûÓÐÍêÈ«Àí½â£¬Ö»ÊÇ´Óxen/tool/pythonϵÄxmºÍxend·ÖÎöÌáÁ¶³öÀ´µÄ¡£»¹ÐèÒª´ó¼Ò°ïÖúÒ»¾Ù³Ô͸£¡ÐµÄÄÚÈÝ´ýÐø£¬¾´Çë¹Ø×¢£¡
void creat_vm()
{
int xcHandle = 0;
unsigned char domain_handle[16] = "asdfasdf";
long deltaCushionAtCkPtInMB;
BOOL memoryWasAvailableInBalloon;
unsigned long slackMem = 3;
int store_port;
unsigned int domid = 1;
struct xen_domctl_sched_credit sdom;
TAILQ_INIT(&store_event_hdr);
totalWatches = 0;
mutex_init(&store_mtx, "Store");
uuid_parse("c540f382-07cb-40d0-b573-27ba03fd690f", domain_handle);
xcHandle = xenctl_handle_acquire();
xc_domain_create(xcHandle,ACM_DEFAULT_SSID,domain_handle,XEN_DOMCTL_CDF_hvm_guest,&domid);
store_port = xc_evtchn_alloc_unbound(xcHandle, 1, 0);
xc_domain_max_vcpus(xcHandle, 1,2);
//Ϊdom0Ôö¼ÓÄڴ棬ÒòΪÔö¼ÓÁËdomUºó£¬dom0ÖлáΪÕâ´ÎÔö¼ÓµÄdomU¸¶³öÒ»²¿·ÖÄÚ´æµÄ¿ªÏú¡£ÎªÁ˱£Ö¤dom0ÓÐ×ã¹»µÄÄÚ´æÐèҪΪËüÔö¼ÓÄڴ档֮ϵÄÁ½¸öº¯ÊýΪ×Ô¶¨Ò庯Êý¡£
dmc_ensure_dom0_memory_cushion(jc_errAndLog_get_globalVersion_stdout(), "prep for guest
Ïà¹ØÎĵµ£º
HÎļþºÍCÎļþÔõôÓÃÄØ£¿Ò»°ãÀ´Ëµ£¬HÎļþÖÐÊÇdeclare£¨ÉùÃ÷£©£¬CÎļþÖÐÊÇdefine£¨¶¨Ò壩¡£ÒòΪCÎļþÒª±àÒë³É¿âÎļþ£¨WindowsÏÂÊÇ.obj/.lib£¬UNIXÏÂÊÇ.o/.a£©£¬Èç¹û±ðÈËҪʹÓÃÄãµÄº¯Êý£¬ÄÇô¾ÍÒªÒýÓÃÄãµÄHÎļþ£¬ËùÒÔ£¬HÎļþÖÐÒ»°ãÊDZäÁ¿¡¢ºê¶¨Ò塢ö¾Ù¡¢½á¹¹ºÍº¯Êý½Ó¿ÚµÄÉùÃ÷£¬¾ÍÏñÒ»¸ö½Ó¿Ú˵Ã÷ÎļþÒ»Ñù¡£¶øCÎļþÔòÊÇʵÏÖϸ½Ú ......
C++ÖеÄStaticÓÐÁ½¸ö×÷Óá£
1¡¢ ¾²Ì¬¾Ö²¿±äÁ¿
¾²Ì¬¾Ö²¿±äÁ¿ÔÚº¯ÊýÄÚ¶¨Òå ËüµÄÉú´æÆÚΪÕû¸öÔ´³ÌÐò£¬µ«ÊÇÆä×÷ÓÃÓòÔڸú¯ÊýÄÚ£¬Ö»ÄÜÔÚ¶¨Òå¸Ã±äÁ¿µÄº¯ÊýÄÚʹÓøñäÁ¿¡£ ÔÊÐí¶Ô¹¹ÔìÀྲ̬¾Ö²¿Á¿¸³³õÖµ£¬Èôδ¸³ÒÔ³õÖµ£¬ÔòÓÉϵͳ×Ô¶¯¸³ÒÔ0Öµ¡£
void fun1()
{
static int i = 0;
......
char c[] = "hello world" ·ÖÅä¾Ö²¿Êý×é
char* c = "hello world" ·ÖÅäÈ«¾ÖÊý×é È«¾ÖÇøÓòµÄÖµÊDz»ÄܽøÐÐÐ޸ĵÄ
1 ³£Á¿Ö¸Õ룡Èç int b, c; int * const a = &b;
±íʾaÊÇÒ»¸ö³£Á¿Ö¸ÕëËüÖ¸Ïò±äÁ¿bµÄÄÚ´æ¡£µ«ÊÇÒòΪÊdz£Á¿Ö¸ÕëËùÒÔ²»ÄÜÔÙÓÃaÖ¸ÏòÆäËû±äÁ¿£¬Èç a = &c; ´íÎ󣡿ÉÒÔÐÞ¸ÄÖ ......
×Ô¼ºÊ¹ÓÃvim±à¼´úÂëÒ²ÊÇÓÐÒ»¶Îʱ¼äÀ´£¬Ä¿Ç°ÔĶÁ¡¢Ð޸ġ¢Ð´´úÂë»ù±¾¶¼Àë²»¿ªËûÁË¡£±¾ÈËʹÓùýµÄ±à¼Æ÷ºÜÉÙ£¬ÒÔǰһ°ã¶¼ÊÇʹÓóÌÐò¿ª·¢IDE×Ô´øµÄ±à¼Æ÷Щ´úÂ룬û¾õµÃʲô·½±ã¡£¿ªÊ¼Ê¹ÓÃvimµÄ¸Õ¸Õ½Ó´¥linux³ÌÐò¿ª·¢µÄʱºò£¬ÄÇʱ¿´µ½ÆäËûÈËÒ»°ã¶¼ÊÇÔÚwindowsÏÂʹÓÃSource Insight ±à¼´úÂ룬ȻºóÔÚÐéÄâ»úlinuxÏÂmake¡£ÎұȽ ......