C/C+ÓïÑÔstructÉî²ã̽Ë÷ (ת)
C/C+ÓïÑÔstructÉî²ã̽Ë÷
×÷ÕߣºËᦻª ³ö´¦£ºPConline
1. structµÄ¾Þ´ó×÷ÓÃ
¡¡¡¡Ãæ¶ÔÒ»¸öÈ˵ĴóÐÍC/C++³ÌÐòʱ£¬Ö»¿´Æä¶ÔstructµÄʹÓÃÇé¿öÎÒÃǾͿÉÒÔ¶ÔÆä±àдÕߵıà³Ì¾Ñé½øÐÐÆÀ¹À¡£ÒòΪһ¸ö´óÐ͵ÄC/C++³ÌÐò£¬ÊƱØÒªÉ漰һЩ(ÉõÖÁ´óÁ¿)½øÐÐÊý¾Ý×éºÏµÄ½á¹¹Ì壬ÕâЩ½á¹¹Ìå¿ÉÒÔ½«Ô±¾ÒâÒåÊôÓÚÒ»¸öÕûÌåµÄÊý¾Ý×éºÏÔÚÒ»Æð¡£´ÓijÖ̶ֳÈÉÏÀ´Ëµ£¬»á²»»áÓÃstruct£¬ÔõÑùÓà structÊÇÇø±ðÒ»¸ö¿ª·¢ÈËÔ±ÊÇ·ñ¾ß±¸·á¸»¿ª·¢¾ÀúµÄ±êÖ¾¡£
¡¡¡¡ÔÚÍøÂçÐÒ顢ͨÐÅ¿ØÖÆ¡¢Ç¶ÈëʽϵͳµÄC/C++±à³ÌÖУ¬ÎÒÃǾ³£Òª´«Ë͵IJ»ÊǼòµ¥µÄ×Ö½ÚÁ÷£¨charÐÍÊý×飩£¬¶øÊǶàÖÖÊý¾Ý×éºÏÆðÀ´µÄÒ»¸öÕûÌ壬Æä±íÏÖÐÎʽÊÇÒ»¸ö½á¹¹Ìå¡£
¡¡¡¡¾Ñé²»×ãµÄ¿ª·¢ÈËÔ±ÍùÍù½«ËùÓÐÐèÒª´«Ë͵ÄÄÚÈÝÒÀ˳Ðò±£´æÔÚcharÐÍÊý×éÖУ¬Í¨¹ýÖ¸ÕëÆ«ÒƵķ½·¨´«ËÍÍøÂ籨ÎĵÈÐÅÏ¢¡£ÕâÑù×ö±à³Ì¸´ÔÓ£¬Ò׳ö´í£¬¶øÇÒÒ»µ©¿ØÖÆ·½Ê½¼°Í¨ÐÅÐÒéÓÐËù±ä»¯£¬³ÌÐò¾ÍÒª½øÐзdz£Ï¸ÖµÄÐ޸ġ£
¡¡¡¡Ò»¸öÓоÑéµÄ¿ª·¢ÕßÔòÁé»îÔËÓýṹÌ壬¾ÙÒ»¸öÀý×Ó£¬¼ÙÉèÍøÂç»ò¿ØÖÆÐÒéÖÐÐèÒª´«ËÍÈýÖÖ±¨ÎÄ£¬Æä¸ñʽ·Ö±ðΪpacketA¡¢packetB¡¢packetC£º
struct structA
{
int a;
char b;
};
struct structB
{
char a;
short b;
};
struct structC
{
int a;
char b;
float c;
}
¡¡¡¡ÓÅÐãµÄ³ÌÐòÉè¼ÆÕßÕâÑùÉè¼Æ´«Ë͵ı¨ÎÄ£º
struct CommuPacket
{
int iPacketType;¡¡¡¡//±¨ÎÄÀàÐͱêÖ¾
union¡¡¡¡¡¡¡¡¡¡¡¡//ÿ´Î´«Ë͵ÄÊÇÈýÖÖ±¨ÎÄÖеÄÒ»ÖÖ£¬Ê¹ÓÃunion
{
&nbs
Ïà¹ØÎĵµ£º
ÕâƪÎÄÕ½éÉÜÔÚLINUXϽøÐÐCÓïÑÔ±à³ÌËùÐèÒªµÄ»ù´¡ÖªÊ¶.ÔÚÕâƪÎÄÕµ±ÖÐ,ÎÒÃǽ«»áѧµ½ÒÔÏÂÄÚÈÝ:
Ô´³ÌÐò±àÒë
MakefileµÄ±àд
³ÌÐò¿âµÄÁ´½Ó
³ÌÐòµÄµ÷ÊÔ
Í·ÎļþºÍϵͳÇóÖú
1.Ô´³ÌÐòµÄ±àÒë
ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öCÓïÑÔÔ´³ÌÐò,ÎÒÃÇҪʹÓÃGNUµÄgcc±àÒëÆ÷. &nb ......
±àÒëµ¥¸öÔ´Îļþ
ΪÁ˽øÐвâÊÔ£¬Äã¿ÉÒÔ´´½¨“Hello World”³ÌÐò£º
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf(”Hello world!\n”);
exit(0);
}
ʹÓÃÈçÏÂÃüÁî±àÒë²¢²âÊÔÕâ¸ö´úÂ룺
# gcc -o hello hello.c
# ./hello
Hello wordl!
ÔÚÄ ......
CÖÐÈçºÎµ÷ÓÃC++º¯Êý?
Ç°Õó×Ó±»Îʼ°Ò»¸öÔÚCÖÐÈçºÎµ÷ÓÃC++º¯ÊýµÄÎÊÌ⣬µ±Ê±¼òµ¥»Ø´ðÊǽ«º¯ÊýÓÃextern "C"ÉùÃ÷£¬µ±±»Îʼ°ÈçºÎ½«ÀàÄÚ³ÉÔ±º¯ÊýÉùÃ÷ʱ£¬Ò»Ê±ÓïÈû£¬ºóÀ´ÍøÉϲéÁËÏ£¬ÍøÉÏÓÐÒ»·ÒëC++Ö®¸¸µÄÎÄÕ¿ÉÒÔ×÷Ϊ½â´ð£¬ËìÄÃÀ´Markһϡ£
½« C++ º¯ÊýÉùÃ÷Ϊ``extern "C"''£¨ÔÚÄãµÄ C++ ´úÂëÀï×öÕâ¸öÉùÃ÷£©£¬ ......
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹ ......
Çë¼û´úÂëÏêϸעÊÍ
// ÐÞ¸´Éæ¼°ºóÊÓÁбíµÄWin2K¼æÈÝÐÔ
// Fixes Win2K compatibility regarding lookaside lists.
//
#ifndef _WIN2K_COMPAT_SLIST_USAGE // Add content(Ôö¼ÓÄÚÈÝ)
#define _WIN2K_COMPAT_SLIST_USAGE
#endif
#include "ntifs.h"
#include "ntdddisk.h"
//
// ÔÚ´úÂëÖпªÆ ......