锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产美女精品久久久久∴,国产精品日本欧美一区二区三区,黑人一区二区http://m.shnenglu.com/xlshcn/archive/2007/11/21/cppinitializer.htmlLing XuLing XuWed, 21 Nov 2007 08:31:00 GMThttp://m.shnenglu.com/xlshcn/archive/2007/11/21/cppinitializer.htmlhttp://m.shnenglu.com/xlshcn/comments/37088.htmlhttp://m.shnenglu.com/xlshcn/archive/2007/11/21/cppinitializer.html#Feedback2http://m.shnenglu.com/xlshcn/comments/commentRss/37088.htmlhttp://m.shnenglu.com/xlshcn/services/trackbacks/37088.html璁蹭竴鐐瑰拰瀹炵幇緇嗚妭鐩稿叧鐨勪笢瑗褲傚湪Visual C++涓紝鎵鏈夊湪main涔嬪墠鎵ц鐨勫嚱鏁拌皟鐢ㄥ疄闄呬笂閮介氳繃涓涓嚜鍔ㄧ敓鎴愮殑鍑芥暟鏉ヨ皟鐢紝姣斿涓嬮潰榪欐浠g爜錛?/p>
int func()
{
return 1;
}
int data = func();
int main()
{
return 0;
}
瀹為檯涓婄敓鎴愪簡涓変釜鍑芥暟錛?/p>
?func@@YAHXZ錛屽搴斾簬 func
_main 瀵瑰簲浜?main
_$E1 瀵瑰簲浜?data=func() 榪欏彞璧嬪艱鍙ャ傚畠璋冪敤浜?func錛屽茍涓斿畬鎴愯祴鍊艱繖涓搷浣溿?/p>
紿嶉棬鍦ㄤ簬錛孷C灝?_$E1榪欎釜鍑芥暟鐨勬寚閽堟斁鍒頒簡孌礐RT$XCU涓細
CRT$XCU SEGMENT
_$S2 DD FLAT:_$E1
; Function compile flags: /Odt /RTCsu /ZI
CRT$XCU ENDS
榪欎釜孌電殑瀹氫箟涓猴細
CRT$XCU SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCU ENDS
鍙傝?crt0dat.c 鏂囦歡鍙互鐪嬪埌錛?/p>
extern _CRTALLOC(".CRT$XIA") _PIFV __xi_a[];
extern _CRTALLOC(".CRT$XIZ") _PIFV __xi_z[]; /* C initializers */
extern _CRTALLOC(".CRT$XCA") _PVFV __xc_a[];
extern _CRTALLOC(".CRT$XCZ") _PVFV __xc_z[]; /* C++ initializers */
extern _CRTALLOC(".CRT$XPA") _PVFV __xp_a[];
extern _CRTALLOC(".CRT$XPZ") _PVFV __xp_z[]; /* C pre-terminators */
extern _CRTALLOC(".CRT$XTA") _PVFV __xt_a[];
extern _CRTALLOC(".CRT$XTZ") _PVFV __xt_z[]; /* C terminators */
榪欓噷瀹為檯涓婃湁涓涓緢宸у鐨勫湴鏂瑰湪浜庯紝VC搴旂敤浜唜86涓婃鏄繛緇茍涓斿彲閲嶅彔鐨勬蹇碉紝鍥犳CRT$XCU鏄綅浜嶤RT$XCA鍒癈RT$XCZ涔嬮棿錛屽叿浣撹錛屾鐨勯『搴忔槸錛?/p>
CRT$XCA SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCA ENDS
CRT$XCU SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCU ENDS
CRT$XCL SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCL ENDS
CRT$XCC SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCC ENDS
CRT$XCZ SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCZ ENDS
鐢變簬CRT$XCA寮濮嬮兘鏄疌++鍒濆鍖栧嚱鏁幫紝_PVFV瀹為檯涓婂氨鏄?void (*_PVFV)()錛屽洜姝RT鐨刜initterm()鍑芥暟灝辨妸榪欎釜孌典腑鐨勬暟鎹綔涓轟竴涓嚱鏁版寚閽堟暟緇勬潵璁塊棶錛屼緷嬈¤皟鐢ㄥ叾涓殑鍑芥暟錛屼粠鑰屽畬鎴愮郴緇熸墍鏈夊垵濮嬪寲鎿嶄綔銆?/p>
鏈鍚庯紝涔熸槸鏈鍏抽敭鐨勯棶棰橈紝灝辨槸瀹為檯涓婃瘡涓?CPP 鏂囦歡緙栬瘧濂戒互鍚庨兘鏈夊垵濮嬪寲鍑芥暟錛屽茍涓斿叾鎸囬拡浣嶄簬 CRT$XC? 孌典腑錛岄殢鍚庤繛鎺ョ▼搴?LINK 鍋氫簡鏈鍚庝竴涓噸瑕佺殑浠誨姟錛屽氨鏄妸鎵鏈夊叿鏈夌浉鍚屽悕瀛楃殑孌靛悎騫舵垚涓轟竴涓崟鐙殑孌碉紙榪欎篃灝辨槸榪炴帴紼嬪簭鍚嶅瓧鐨勭敱鏉ヤ箣涓錛夛紝鍚堝茍鐨勫仛娉曞氨鏄畝鍗曞湴鎶婃瘡涓涓殑鏁版嵁鎸夐『搴忓墠鍚庢斁鍒頒竴涓繛緇殑絀洪棿灝卞彲浠ヤ簡銆傝繖鏍峰湪鏈緇堣繍琛岀殑鏃跺欙紝紼嬪簭鐪嬪埌鐨凜RT$XC?孌典篃灝辨槸涓涓繛緇殑鏁扮粍錛岃屼笉鏄涓暟緇勩?/p>
鑷充簬欏哄簭闂錛屽湪榪欓噷灝卞彲浠ョ湅鍒幫紝鏄敱榪炴帴紼嬪簭鏈鍚庡仛鎷兼帴鏃跺欑‘瀹氱殑銆傝繛鎺ョ▼搴忔嫾鎺ョ殑欏哄簭錛屽熀鏈笂鏄畠鐪嬪埌OBJ鏂囦歡鐨勯『搴忥紝涔熷氨鏄湪榪炴帴紼嬪簭鍛戒護琛屾寚瀹氱殑欏哄簭銆傚洜姝わ紝鍦ㄧ▼搴忎腑鍐充笉鑳戒緷璧栦簬榪欎釜欏哄簭錛屽洜涓哄湪榪炴帴紼嬪簭鍛戒護琛屼腑鐨勬枃浠墮『搴忔槸涓嶇‘瀹氱殑銆?/p>
浠ヤ笂鏄垵濮嬪寲紼嬪簭鐨勯『搴忥紝鑷充簬鏋愭瀯鍑芥暟錛堟垨鑰呭湪main鍑芥暟涔嬪悗鐨勫嚱鏁拌皟鐢級鍒欐槸閫氳繃鐢╝t_exit鍑芥暟娉ㄥ唽鐨勯『搴忔潵紜畾錛岃屾敞鍐屽線寰鏄湪鍒濆鍖栫殑鏃跺欒繘琛岋紝鍥犳鏋愭瀯鍑芥暟鐨勮皟鐢ㄩ『搴忎篃鏄笉紜畾鐨勩?/p>

]]>- C++ XML 搴忓垪鍖栧櫒http://m.shnenglu.com/xlshcn/archive/2007/11/21/cppxmlserializer.htmlLing XuLing XuWed, 21 Nov 2007 08:06:00 GMThttp://m.shnenglu.com/xlshcn/archive/2007/11/21/cppxmlserializer.htmlhttp://m.shnenglu.com/xlshcn/comments/37087.htmlhttp://m.shnenglu.com/xlshcn/archive/2007/11/21/cppxmlserializer.html#Feedback4http://m.shnenglu.com/xlshcn/comments/commentRss/37087.htmlhttp://m.shnenglu.com/xlshcn/services/trackbacks/37087.htmlXML 搴忓垪鍖栧櫒
鏈榪戣瘯鍥劇紪鍐欎竴涓狢++鐨刋ML搴忓垪鍖栧櫒錛岀洰鍓嶅疄鐜頒簡涓浜涘熀鏈殑鍔熻兘銆備負浜嗗紑鍙戜竴涓猉ML搴忓垪鍖栧櫒錛岄鍏堣鏈塜ML璇誨彇鍣紙Reader錛夊拰涔﹀啓鍣紙Writer錛夈傛垜瀹炵幇浜嗕袱涓畝鍗曠殑XML Reader鍜學riter錛?/p>

class SimpleXmlElement


{

public:

enum NodeType


{

UNKNOWN,

ATTRIBUTE,

ELEMENT,

ENDOFELEMENT

};


private:

friend class SimpleXmlReader;


public:

NodeType GetType() const;

const String & GetName() const;

bool IsEmptyElement() const;


protected:

void Reset(NodeType type, const String & name, bool isEmptyElement);


private:

NodeType m_type;

String m_name;

bool m_isEmptyElement;

};


class SimpleXmlAttribute: public SimpleXmlElement


{

friend class SimpleXmlReader;


public:

const String & GetValue() const;


protected:

void Reset(const String & name, const String & val);


private:

String m_val;

};


class SimpleXmlReader


{

public:

SimpleXmlReader();

virtual ~SimpleXmlReader();


virtual void Open(IStream * stream, ICharsetEncoding * encoding = NULL)

virtual void Open(const void * buffer, SIZE_TYPE length, ICharsetEncoding * encoding = NULL);

virtual void Open(const void * buffer, int offset, SIZE_TYPE length, ICharsetEncoding * encoding = NULL);


virtual bool IsEndOfStream() const;

virtual const SimpleXmlElement * GetNextElement();

virtual const SimpleXmlAttribute * GetNextAttribute();

virtual const String GetElementInnerText();


};


//-------------------------------------------------------------------------------------------

class SimpleXmlWriter


{

public:

SimpleXmlWriter();

virtual ~SimpleXmlWriter();


virtual void Open(ICharsetEncoding * encoding = NULL);

virtual void Open(IStream * stream, ICharsetEncoding * encoding = NULL);


virtual void EnterElement(const String & element);

virtual void AddAttribute(const String & attribute, const String & value);

virtual void SetElementInnerText(const String & text);

virtual void LeaveElement();


virtual const void * GetBuffer();

virtual SIZE_TYPE GetLength();

};

鍦ㄨ繖涓や釜綾諱腑錛孖Stream鏄繚瀛樻暟鎹殑嫻佹帴鍙o紝ICharsetEncoding鏄敤浜庡瓧絎﹂泦杞崲鐨勭紪鐮佹帴鍙c?/p>
浣跨敤榪欎袱涓被灝卞彲浠ヨ繘琛孹ML搴忓垪鍖栦簡銆?/p>
class XmlSerializer;
struct IXmlSerializable
{
virtual void Serialize(XmlSerializer * serializer, bool serialize) = 0;
};
class XmlTree;
class XmlSerializer
{
public:
XmlSerializer();
virtual ~XmlSerializer();
virtual void OpenSerializer(IStream * stream, ICharsetEncoding * encoding = NULL);
virtual void OpenDeserializer(IStream * stream, ICharsetEncoding * encoding = NULL);
virtual void Close();
virtual void SerializeElement(const String & className, const String & elementName, bool var);
virtual void SerializeElement(const String & className, const String & elementName, int var);
virtual void SerializeElement(const String & className, const String & elementName, const String & var);
virtual void SerializeElement(const String & className, const String & elementName, IXmlSerializable & var);
virtual void SerializeAttribute(const String & className, const String & elementName, const String & attributeName, bool var);
virtual void SerializeAttribute(const String & className, const String & elementName, const String & attributeName, int var);
virtual void SerializeAttribute(const String & className, const String & elementName, const String & attributeName, const String & var);
virtual void DeserializeElement(const String & className, const String & elementName, bool &var);
virtual void DeserializeElement(const String & className, const String & elementName, int & var);
virtual void DeserializeElement(const String & className, const String & elementName, String & var);
virtual void DeserializeElement(const String & className, const String & elementName, IXmlSerializable & var);
virtual void DeserializeAttribute(const String & className, const String & elementName, const String & attributeName, bool & var);
virtual void DeserializeAttribute(const String & className, const String & elementName, const String & attributeName, int & var);
virtual void DeserializeAttribute(const String & className, const String & elementName, const String & attributeName, String & var);
};
#define BEGIN_XML_SERIALIZER_BASE(className, baseClassName) \
virtual void Serialize(XmlSerializer * serializer, bool serialize) \
{ \
const String __className = TEXT(#className); \
\
if (IsTypeDerivedFrom<baseClassName, IXmlSerializable>::Yes) \
{ \
baseClassName::Serialize(serializer, serialize); \
}
#define BEGIN_XML_SERIALIZER(className) \
virtual void Serialize(XmlSerializer * serializer, bool serialize) \
{ \
const String __className = TEXT(#className);
#define END_XML_SERIALIZER() \
}
#define XML_ELEMENT(var) \
if (serialize) \
{ \
serializer->SerializeElement(__className, TEXT(#var), var); \
} \
else \
{ \
serializer->DeserializeElement(__className, TEXT(#var), var); \
}
#define XML_ATTRIBUTE(element, var) \
if (serialize) \
{ \
serializer->SerializeAttribute(__className, TEXT(#element), TEXT(#var), var); \
} \
else \
{ \
serializer->DeserializeAttribute(__className, TEXT(#element), TEXT(#var), var); \
}
鏈変竴涓ā鏉跨被 IsTypeDerivedFrom<T, U>鐢ㄤ簬鍒ゆ柇綾誨瀷T鏄惁浠庣被鍨婾媧劇敓銆傚鏋滄槸錛岄偅涔圷es=1錛屽惁鍒橸es=0銆?/p>
涓轟簡搴忓垪鍖栦竴涓被錛岄鍏堜粠 IXmlSerializable 鎺ュ彛媧劇敓錛堝疄闄呬笂濡傛灉榪欎釜綾諱笉浣滀負鍏跺畠搴忓垪鍖栫被鐨勫熀綾葷殑鍖栵紝涔熷彲浠ヤ笉鐢ㄤ粠璇ユ帴鍙f淳鐢燂級錛岀劧鍚庝嬌鐢?BEGIN_XML_SERIALIZER 錛堝浜庡崟鐙殑綾伙級鎴栬?BEGIN_XML_SERIALIZER_BASE錛堝浜庨渶瑕佸簭鍒楀寲鍩虹被鐨勬儏鍐碉級寮濮嬪畾涔夊簭鍒楀寲鍣ㄣ備緥濡傦細
class ClassA: public IXmlSerializable
{
public:
BEGIN_XML_SERIALIZER(ClassA)
XML_ELEMENT(m_data)
XML_ATTRIBUTE(m_data, m_value)
XML_ELEMENT(m_bool)
XML_ELEMENT(m_s)
END_XML_SERIALIZER();
ClassA()
: m_data(0),
m_value(1),
m_bool(false),
m_s(TEXT("Hello"))
{
}
void Reset()
{
m_data = -1;
m_value = 0;
m_bool = true;
m_s = TEXT("");
}
private:
int m_data;
int m_value;
bool m_bool;
String m_s;
};
class ClassC: public ClassA
{
public:
BEGIN_XML_SERIALIZER_BASE(ClassC, ClassA)
XML_ELEMENT(m_data)
XML_ATTRIBUTE(m_data, m_value)
XML_ELEMENT(m_bool)
XML_ELEMENT(m_s)
XML_ELEMENT(m_a)
END_XML_SERIALIZER();
ClassC()
: m_data(0),
m_value(1),
m_bool(false),
m_s(TEXT("Hello"))
{
}
void Reset()
{
m_data = -1;
m_value = 0;
m_bool = true;
m_s = TEXT("");
}
private:
int m_data;
int m_value;
bool m_bool;
String m_s;
ClassA m_a;
};
鎵ц涓嬮潰鐨勪唬鐮侊細
XmlSerializer serializer;
MemoryStream ms;
ms.Open();
serializer->OpenSerializer(&ms);
ClassC c;
c.Serialize(&serializer, true);
serializer.Close();
const char * buf = static_cast<const char *>(ms.GetBuffer());
榪欐牱 buf 涓氨鍖呭惈浜嗗簭鍒楀寲浠ュ悗鐨刋ML鏂囨湰錛屽涓嬶細
<SerializeData>
<ClassA>
<m_bool>false</m_bool>
<m_data m_value="1">0</m_data>
<m_s>Hello</m_s>
</ClassA>
<ClassC>
<m_a>
<ClassA>
<m_bool>false</m_bool>
<m_data m_value="1">0</m_data>
<m_s>Hello</m_s>
</ClassA>
</m_a>
<m_bool>false</m_bool>
<m_data m_value="1">0</m_data>
<m_s>Hello</m_s>
</ClassC>
</SerializeData>
瀹為檯鐨勫簭鍒楀寲鍚庣殑鏂囨湰鏄笉鍖呭惈緙╄繘鐨勶紝涓婇潰榪欐牱鍙槸涓轟簡渚夸簬嫻忚銆?/p>
浣跨敤 c.Serialize(&serializer, false) 鍙互鎵ц鍙嶅簭鍒楀寲錛屽嵆浠?XML 鏂囨湰鐢熸垚瀵瑰簲鐨勫璞°?/p>
銆愰檺鍒躲?/p>
鐩墠灝氭病鏈夊疄鐜板鏁扮粍鐨勫簭鍒楀寲錛屽浜庢寚閽堬紝鑰冭檻涓嶅仛搴忓垪鍖栵紝鍘熷洜鍦ㄤ簬娑夊強鍒板唴瀛樼殑鍒嗛厤浠ュ強鍔ㄦ佸鎬佺瓑闂涓嶆槸寰堝ソ瑙e喅銆?br>

]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
国产欧美日韩亚洲一区二区三区|
午夜伦欧美伦电影理论片|
亚洲欧美制服另类日韩|
av不卡在线观看|
亚洲人精品午夜在线观看|
老司机免费视频一区二区三区|
午夜精品久久久久99热蜜桃导演|
亚洲欧美综合v|
欧美在线亚洲一区|
免费欧美高清视频|
亚洲精品一区二区在线观看|
欧美亚洲不卡|
国模一区二区三区|
一区二区毛片|
美女国产一区|
亚洲欧美日韩精品久久久久|
美女视频网站黄色亚洲|
欧美日韩一区二区三区免费看|
国产精品日韩在线|
亚洲激情校园春色|
久久久亚洲国产天美传媒修理工|
欧美高潮视频|
欧美在线短视频|
国产精品一区二区三区成人|
在线免费观看日韩欧美|
久久精品国产成人|
激情欧美日韩一区|
亚洲精品之草原avav久久|
久久精品1区|
午夜亚洲性色福利视频|
欧美精品手机在线|
亚洲精品视频在线|
亚洲国产裸拍裸体视频在线观看乱了中文
|
欧美三级日本三级少妇99|
在线成人激情黄色|
欧美高清视频免费观看|
久热精品视频在线观看一区|
国产日韩欧美制服另类|
欧美一区二区久久久|
欧美专区日韩专区|
伊人精品视频|
亚洲精品国精品久久99热|
欧美激情中文字幕一区二区
|
久久一综合视频|
亚洲经典自拍|
中日韩高清电影网|
黄色成人片子|
日韩视频精品|
在线免费不卡视频|
亚洲美女av黄|
国产欧美日韩精品专区|
欧美成年人视频网站欧美|
亚洲一区二区三区午夜|
欧美一级久久久|
欧美成人国产va精品日本一级|
亚洲电影自拍|
亚洲一二三区在线|
亚洲欧洲一级|
久久精品国产96久久久香蕉|
亚洲视频在线观看|
麻豆精品视频|
久久久久一本一区二区青青蜜月|
欧美日韩一区二区精品|
欧美大片在线观看一区|
国产日韩亚洲欧美综合|
9色精品在线|
亚洲久久一区二区|
欧美成人精品|
亚洲成人资源|
亚洲欧洲偷拍精品|
欧美高清在线精品一区|
男人的天堂亚洲在线|
伊人影院久久|
久久综合色影院|
欧美激情aⅴ一区二区三区|
伊人成年综合电影网|
久久蜜桃精品|
91久久精品www人人做人人爽|
在线观看亚洲a|
欧美国产精品一区|
99在线精品视频|
欧美在线亚洲|
亚洲国产合集|
欧美精品在线免费|
99在线精品视频在线观看|
久久久精品国产免大香伊|
亚洲国产天堂久久国产91|
欧美激情aⅴ一区二区三区|
中国成人亚色综合网站|
久久国内精品视频|
亚洲美女网站|
亚洲欧洲综合另类|
国产人久久人人人人爽|
久久漫画官网|
亚洲精品小视频在线观看|
午夜精品影院在线观看|
亚洲日韩视频|
国产精品亚洲一区二区三区在线|
欧美亚洲一区|
一区二区三区免费观看|
美脚丝袜一区二区三区在线观看
|
国产欧美精品一区aⅴ影院|
欧美在线视频日韩|
欧美一区二区三区视频免费播放
|
亚洲欧洲三级|
亚洲欧美国产日韩天堂区|
亚洲毛片一区|
亚洲人成网站999久久久综合|
狠狠久久亚洲欧美专区|
国产精品久久中文|
欧美日韩国产美|
欧美国产日韩一区|
欧美精品国产精品|
国产精品久久久久9999|
欧美麻豆久久久久久中文|
欧美精品一二三|
国产精品自拍三区|
激情欧美丁香|
亚洲精品一区二区三区蜜桃久|
在线国产精品一区|
国产欧美精品va在线观看|
国产日韩在线不卡|
在线欧美影院|
亚洲欧美日韩一区在线|
亚洲福利视频一区二区|
性色av一区二区三区在线观看
|
免费视频一区|
亚洲欧美久久|
麻豆精品在线播放|
亚洲精品女av网站|
欧美激情综合|
亚洲伊人观看|
欧美激情视频一区二区三区免费|
欧美日韩裸体免费视频|
国产精品一区二区三区观看|
精品9999|
久久爱www久久做|
99国产麻豆精品|
一本久久精品一区二区|
久久综合网hezyo|
亚洲欧美日韩国产另类专区|
欧美成人精品激情在线观看|
国产精品99久久99久久久二8|
久久精品毛片|
国产一区二区福利|
欧美一级电影久久|
一区二区三区精品视频在线观看|
久久精品欧美日韩精品|
激情五月***国产精品|
欧美在线free|
国产精品夜夜嗨|
亚洲精选视频免费看|
久久久久国产精品www|
亚洲欧美国产三级|
国产欧美精品|
农村妇女精品|
欧美第一黄网免费网站|
日韩视频免费观看|
91久久精品美女|
国产精品久久久久久久久久三级|
亚洲免费人成在线视频观看|
亚洲福利av|
欧美日韩一区三区|
欧美在线关看|
免费看亚洲片|
久久久国产一区二区三区|
亚洲一二三区视频在线观看|
亚洲国产婷婷综合在线精品|
欧美成人一区在线|
欧美一级久久|
免费看的黄色欧美网站|
一区二区免费在线观看|
亚洲视频视频在线|
亚洲福利视频三区|
一区二区欧美国产|
一区二区在线观看av|
亚洲欧洲一区二区三区在线观看|
国产精品羞羞答答xxdd|
免费永久网站黄欧美|
国产精品免费网站|
亚洲美女av在线播放|
国产色产综合产在线视频|
欧美二区不卡|
国产一区二区丝袜高跟鞋图片|
亚洲国产三级网|
亚洲国产精品热久久|
欧美一区二区三区啪啪|
亚洲一区免费视频|
欧美福利网址|
亚洲国产日韩一区二区|
91久久精品网|
欧美日本韩国一区二区三区|
免费黄网站欧美|
亚洲国产一区二区a毛片|
久久综合九色欧美综合狠狠|
久久天天躁狠狠躁夜夜av|
国产日韩av一区二区|
亚洲午夜伦理|
久久人人爽人人爽爽久久|
原创国产精品91|