ÕÆÎÕÎı¾Îļþ¶ÁдµÄ·½·¨
Á˽â¶þ½øÖÆÎļþµÄ¶Áд·½·¨
C++ÎļþÁ÷£º
fstream¡¡¡¡// ÎļþÁ÷
ifstream¡¡ // ÊäÈëÎļþÁ÷
ofstream¡¡ // Êä³öÎļþÁ÷
//´´½¨Ò»¸öÎı¾Îļþ²¢Ð´ÈëÐÅÏ¢
//ͬÏòÆÁÄ»ÉÏÊä³öÐÅÏ¢Ò»Ñù½«ÐÅÏ¢Êä³öÖÁÎļþ
#include<iomanip.h>
#include<fstream.h>
void main()
{
¡¡¡¡ofstream f1("d:\\me.txt");¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ò¿ªÎļþÓÃÓÚд£¬ÈôÎļþ²»´æÔھʹ´½¨Ëü
¡¡¡¡if(!f1)return;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ò¿ªÎļþʧ°ÜÔò½áÊøÔËÐÐ
¡¡¡¡f1<<setw(20)<<"ÐÕÃû£º"<<"Á®¶«·½"<<endl;¡¡¡¡¡¡¡¡ //ʹÓòåÈëÔËËã·ûдÎļþÄÚÈÝ
¡¡¡¡f1<<setw(20)<<"¼ÒÍ¥µØÖ·£º"<<"ºÓÄÏÖ£ÖÝ"<<endl;
¡¡¡¡f1.close();¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¹Ø±ÕÎļþ
}
ÔËÐкó´ò¿ªÎļþd:\me.txt£¬ÆäÄÚÈÝÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÐÕÃû£ºÁ®¶«·½
¡¡¡¡¡¡¡¡¡¡¼ÒÍ¥µØÖ·£ººÓÄÏÖ£ÖÝ
Îļþ²Ù×÷£º
´ò¿ªÎļþ
¡¡¡¡ÎļþÃû
¡¡¡¡¡¡¡¡×¢Òâ·¾¶ÃûÖеÄб¸ÜҪ˫д£¬È磺
¡¡¡¡¡¡¡¡"D:\\MyFiles\\ReadMe.txt"
¡¡¡¡Îļþ´ò¿ª·½Ê½Ñ¡Ï
¡¡¡¡¡¡¡¡ios::in¡¡¡¡¡¡¡¡= 0x01,¡¡//¹©¶Á£¬Îļþ²»´æÔÚÔò´´½¨(ifstreamĬÈϵĴò¿ª ......
ÕÆÎÕÎı¾Îļþ¶ÁдµÄ·½·¨
Á˽â¶þ½øÖÆÎļþµÄ¶Áд·½·¨
C++ÎļþÁ÷£º
fstream¡¡¡¡// ÎļþÁ÷
ifstream¡¡ // ÊäÈëÎļþÁ÷
ofstream¡¡ // Êä³öÎļþÁ÷
//´´½¨Ò»¸öÎı¾Îļþ²¢Ð´ÈëÐÅÏ¢
//ͬÏòÆÁÄ»ÉÏÊä³öÐÅÏ¢Ò»Ñù½«ÐÅÏ¢Êä³öÖÁÎļþ
#include<iomanip.h>
#include<fstream.h>
void main()
{
¡¡¡¡ofstream f1("d:\\me.txt");¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ò¿ªÎļþÓÃÓÚд£¬ÈôÎļþ²»´æÔھʹ´½¨Ëü
¡¡¡¡if(!f1)return;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ò¿ªÎļþʧ°ÜÔò½áÊøÔËÐÐ
¡¡¡¡f1<<setw(20)<<"ÐÕÃû£º"<<"Á®¶«·½"<<endl;¡¡¡¡¡¡¡¡ //ʹÓòåÈëÔËËã·ûдÎļþÄÚÈÝ
¡¡¡¡f1<<setw(20)<<"¼ÒÍ¥µØÖ·£º"<<"ºÓÄÏÖ£ÖÝ"<<endl;
¡¡¡¡f1.close();¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¹Ø±ÕÎļþ
}
ÔËÐкó´ò¿ªÎļþd:\me.txt£¬ÆäÄÚÈÝÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÐÕÃû£ºÁ®¶«·½
¡¡¡¡¡¡¡¡¡¡¼ÒÍ¥µØÖ·£ººÓÄÏÖ£ÖÝ
Îļþ²Ù×÷£º
´ò¿ªÎļþ
¡¡¡¡ÎļþÃû
¡¡¡¡¡¡¡¡×¢Òâ·¾¶ÃûÖеÄб¸ÜҪ˫д£¬È磺
¡¡¡¡¡¡¡¡"D:\\MyFiles\\ReadMe.txt"
¡¡¡¡Îļþ´ò¿ª·½Ê½Ñ¡Ï
¡¡¡¡¡¡¡¡ios::in¡¡¡¡¡¡¡¡= 0x01,¡¡//¹©¶Á£¬Îļþ²»´æÔÚÔò´´½¨(ifstreamĬÈϵĴò¿ª ......
http://topic.csdn.net/u/20100413/09/ffc0fcd5-c3c1-4a15-b5a2-f1bf65f50caa.html?21874
C/C++ code
typedef struct _VSCSIDISK_COMMON_DEVICE_EXTENSION
{
BOOLEAN IsPdo;
} VSCSIDISK_COMMON_DEVICE_EXTENSION, *PVSCSIDISK_COMMON_DEVICE_EXTENSION;
typedef struct _VSCSIDISK_PDO_DEVICE_EXTENSION
#ifdef __cplusplus
: VSCSIDISK_COMMON_DEVICE_EXTENSION
{
#else
{
VSCSIDISK_COMMON_DEVICE_EXTENSION;//ÕâÀïÔõÑùÀí½â£¿
#endif
ULONG DeviceId; // unique device id
} VSCSIDISK_PDO_DEVICE_EXTENSION, *PVSCSIDISK_PDO_DEVICE_EXTENSION;
ÕýÈ·½âÊÍ 16Â¥
ÒòΪCÓïÑÔûÓÐÀ༰¼Ì³ÐµÄ¸ÅÄËùÒÔ²»Äܸø½á¹¹Ö¸¶¨»ùÀà¡£“VSCSIDISK_COMMON_DEVICE_EXTENSION;”¾ÍÊÇʵÏּ̳еÄЧ¹û£¬²»Ö¸¶¨³ÉÔ±±äÁ¿Ãû£¬Ôò¿ÉÒÔÖ±½Ó·ÃÎÊVSCSIDISK_COMMON_DEVICE_EXTENSIONÖеijÉÔ±£¬ÀýÈ磺
VSCSIDISK_PDO_DEVICE_EXTENSION x;
x.IsPdo = FALSE;
Èç¹ûÖ¸¶¨Á˳ÉÔ±±äÁ¿Ãû£¬ÔòÒªÓñäÁ¿ÃûÀ´·ÃÎÊ£¬¼ÙÉ趨ÒåΪ“VSCSIDISK_COMMON_DEVICE_EXTENSION a;”£¬Ôò·ÃÎÊ·½Ê½Îª£º
VSCSIDISK_PD ......
http://msdn.microsoft.com/en-us/library/2e70t5y1(VS.80).aspx
#pragma
pack( n )
n : Valid values are 1, 2, 4, 8, and 16.the
alignment of a member will be on a boundary that is either a multiple of
n
or
a multiple of the size of the member
,
whichever is smaller.
The
default value for n
is 8
³ÉÔ±±äÁ¿¶ÔÆë£ºÑ¡n
ºÍ¸Ã³ÉÔ±³¤¶È
µÄ
×îСֵ(µÄ±¶Êý)
½á¹¹ABCDÖÐdµÄ¶ÔÆë·½Ê½£¬Ñ¡nºÍsizeof(d)µÄ×îСֵ8£¬È»ºó°´8×Ö½Ú¶ÔÆë£¡£¡£¡
sizeof´óС£ºÑ¡n
ºÍ×î´ó³É
Ô±³¤¶È
µÄ×îСֵ£¬¶ÔÆë
Àý×Ó£º
#pragma
pack(8)
struct ABCD
{
bool
b;
short s;
double d;
};
int
main()
{
cout << offsetof(ABCD,
b) << endl;
cout << offsetof(ABCD,
s) << endl;
cout << offsetof(ABCD,
d) << endl;
cout << sizeof(ABCD) << endl;
}
output
is:
0
2
8
16
http://msdn.microsoft.com/en-us/library/83ythb65(VS.71).aspx
__declspec( align( n ) )
__declspec( align() ) ºÍ #pragma pack ......
http://msdn.microsoft.com/en-us/library/2e70t5y1(VS.80).aspx
#pragma
pack( n )
n : Valid values are 1, 2, 4, 8, and 16.the
alignment of a member will be on a boundary that is either a multiple of
n
or
a multiple of the size of the member
,
whichever is smaller.
The
default value for n
is 8
³ÉÔ±±äÁ¿¶ÔÆë£ºÑ¡n
ºÍ¸Ã³ÉÔ±³¤¶È
µÄ
×îСֵ(µÄ±¶Êý)
½á¹¹ABCDÖÐdµÄ¶ÔÆë·½Ê½£¬Ñ¡nºÍsizeof(d)µÄ×îСֵ8£¬È»ºó°´8×Ö½Ú¶ÔÆë£¡£¡£¡
sizeof´óС£ºÑ¡n
ºÍ×î´ó³É
Ô±³¤¶È
µÄ×îСֵ£¬¶ÔÆë
Àý×Ó£º
#pragma
pack(8)
struct ABCD
{
bool
b;
short s;
double d;
};
int
main()
{
cout << offsetof(ABCD,
b) << endl;
cout << offsetof(ABCD,
s) << endl;
cout << offsetof(ABCD,
d) << endl;
cout << sizeof(ABCD) << endl;
}
output
is:
0
2
8
16
http://msdn.microsoft.com/en-us/library/83ythb65(VS.71).aspx
__declspec( align( n ) )
__declspec( align() ) ºÍ #pragma pack ......
1.2 µ¥Ôª²âÊÔµÄÄ¿±êºÍ·½·¨
µ¥Ôª²âÊÔµÄÄ¿±êÊÇÊ²Ã´ÄØ£¿¾ÍÊÇÍêÕû¼ì²â´úÂëµ¥ÔªµÄ¹¦ÄÜÂß¼¡£ÕÒ³ö´úÂëµ¥Ôª±¾ÉíµÄËùÓй¦ÄÜÂß¼´íÎ󣬾ßÌåÀ´Ëµ£¬¾ÍÊǼì²â¶ÔÊý¾ÝµÄ¸÷ÖÖ·ÖÀàÊÇ·ñ¿¼ÂÇÈ«Ãæ£¬´¦ÀíÊÇ·ñÕýÈ·¡£µ¥Ôª²âÊÔ²¢²»ÊÇÓÃÀ´´úÌæÏµÍ³²âÊÔ¡¢ÐÔÄܲâÊԵģ¬ËüµÄÄ¿±êÏ൱Ã÷È·£¬¾ÍÊǼì²â´úÂëµ¥Ôª±¾ÉíµÄ¹¦ÄÜÂß¼´íÎó¡£
Èç¹ûʱ¼ä½ôÕÅ£¬Ó¦¸ÃÓÅÏȲâÊÔÄÄЩ´úÂëÄØ£¿´úÂëµÄ¹¦ÄÜÂß¼Ô½¸´ÔÓ£¬Ò²¾ÍÊÇËã·¨Ãܼ¯¶ÈÔ½¸ß£¬¿ÉÄܵĴíÎóÔ½¶à£¬Ô½ÐèÒªÈ«ÃæµÄ²âÊÔ£¬²âÊÔÐ§ÒæÔ½´ó¡£ËùÒÔ£¬Èç¹ûʱ¼ä²»¹»£¬Ó¦¸ÃÓÅÏȲâÊÔËã·¨Ãܼ¯µÄ´úÂë¡£80-20¹æÔòÔÚÈí¼þ¿ª·¢ÖÐͬÑù´æÔÚ£¬Ò²¾ÍÊÇ80%µÄ´úÂë´íÎó¿ÉÄÜ´æÔÚÓÚ20%µÄ´úÂëÖУ¬20%µÄ´úÂë¿ÉÄÜÕ¼ÓÃÁË80%µÄ¿ª·¢µ÷ÊÔʱ¼ä¡£Õâ20%¾ÍÊÇËã·¨Ãܼ¯µÄ´úÂ룬¼´Ê¹Ö»¶ÔÕâЩ´úÂë½øÐе¥Ôª²âÊÔ£¬Ò²¿ÉÒÔ²úÉú¾Þ´óµÄÐ§Òæ¡£´úÂ븴ÔӶȺͲâÊÔ¼ÛÖµ¿ÉÒÔÓù¤¾ßÀ´Í³¼Æ¡£
²âÊÔ·½·¨Ö÷ÒªÓÐÁ½ÖÖ£º¾²Ì¬ºÍ¶¯Ì¬¡£¾²Ì¬·½·¨Ö÷ÒªÓɹ¤¾ßɨÃèºÍ·ÖÎö´úÂë¡£¶¯Ì¬·½·¨ÔòÐèÒªÖ´ÐдúÂë¡£
¾²Ì¬·½·¨ÄÜ·¢ÏÖÄÄЩ´íÎóÄØ£¿´Ó¾²Ì¬²âÊԵĽǶÈÀ´¿´£¬´úÂë´íÎó¿É·ÖΪ´úÂëȱʧ£¬ÓïÒå´í ......
1.2 µ¥Ôª²âÊÔµÄÄ¿±êºÍ·½·¨
µ¥Ôª²âÊÔµÄÄ¿±êÊÇÊ²Ã´ÄØ£¿¾ÍÊÇÍêÕû¼ì²â´úÂëµ¥ÔªµÄ¹¦ÄÜÂß¼¡£ÕÒ³ö´úÂëµ¥Ôª±¾ÉíµÄËùÓй¦ÄÜÂß¼´íÎ󣬾ßÌåÀ´Ëµ£¬¾ÍÊǼì²â¶ÔÊý¾ÝµÄ¸÷ÖÖ·ÖÀàÊÇ·ñ¿¼ÂÇÈ«Ãæ£¬´¦ÀíÊÇ·ñÕýÈ·¡£µ¥Ôª²âÊÔ²¢²»ÊÇÓÃÀ´´úÌæÏµÍ³²âÊÔ¡¢ÐÔÄܲâÊԵģ¬ËüµÄÄ¿±êÏ൱Ã÷È·£¬¾ÍÊǼì²â´úÂëµ¥Ôª±¾ÉíµÄ¹¦ÄÜÂß¼´íÎó¡£
Èç¹ûʱ¼ä½ôÕÅ£¬Ó¦¸ÃÓÅÏȲâÊÔÄÄЩ´úÂëÄØ£¿´úÂëµÄ¹¦ÄÜÂß¼Ô½¸´ÔÓ£¬Ò²¾ÍÊÇËã·¨Ãܼ¯¶ÈÔ½¸ß£¬¿ÉÄܵĴíÎóÔ½¶à£¬Ô½ÐèÒªÈ«ÃæµÄ²âÊÔ£¬²âÊÔÐ§ÒæÔ½´ó¡£ËùÒÔ£¬Èç¹ûʱ¼ä²»¹»£¬Ó¦¸ÃÓÅÏȲâÊÔËã·¨Ãܼ¯µÄ´úÂë¡£80-20¹æÔòÔÚÈí¼þ¿ª·¢ÖÐͬÑù´æÔÚ£¬Ò²¾ÍÊÇ80%µÄ´úÂë´íÎó¿ÉÄÜ´æÔÚÓÚ20%µÄ´úÂëÖУ¬20%µÄ´úÂë¿ÉÄÜÕ¼ÓÃÁË80%µÄ¿ª·¢µ÷ÊÔʱ¼ä¡£Õâ20%¾ÍÊÇËã·¨Ãܼ¯µÄ´úÂ룬¼´Ê¹Ö»¶ÔÕâЩ´úÂë½øÐе¥Ôª²âÊÔ£¬Ò²¿ÉÒÔ²úÉú¾Þ´óµÄÐ§Òæ¡£´úÂ븴ÔӶȺͲâÊÔ¼ÛÖµ¿ÉÒÔÓù¤¾ßÀ´Í³¼Æ¡£
²âÊÔ·½·¨Ö÷ÒªÓÐÁ½ÖÖ£º¾²Ì¬ºÍ¶¯Ì¬¡£¾²Ì¬·½·¨Ö÷ÒªÓɹ¤¾ßɨÃèºÍ·ÖÎö´úÂë¡£¶¯Ì¬·½·¨ÔòÐèÒªÖ´ÐдúÂë¡£
¾²Ì¬·½·¨ÄÜ·¢ÏÖÄÄЩ´íÎóÄØ£¿´Ó¾²Ì¬²âÊԵĽǶÈÀ´¿´£¬´úÂë´íÎó¿É·ÖΪ´úÂëȱʧ£¬ÓïÒå´í ......
½âÎöHostsÎļþ
ºÜ¶àÓû§¶¼ÖªµÀÔÚWindowϵͳÖÐÓиöHostsÎļþ£¨Ã»Óкó׺Ãû£©£¬ÔÚWindows98ϵͳϸÃÎļþÔÚWindowsĿ¼£¬ÔÚWindows2000/XPϵͳÖÐλÓÚC:\Winnt\System32\Drivers\Etc Ŀ¼ÖС£¸ÃÎļþÆäʵÊÇÒ»¸ö´¿Îı¾µÄÎļþ£¬ÓÃÆÕͨµÄÎı¾±à¼Èí¼þÈç¼Çʱ¾µÈ¶¼ÄÜ´ò¿ª¡£
ÓüÇʱ¾´ò¿ªhostsÎļþ£¬Ê×ÏÈ¿´¼ûÁË΢Èí¶ÔÕâ¸öÎļþµÄ˵Ã÷¡£Õâ¸öÎļþÊǸù¾ÝTCP/IPforWindowsµÄ±ê×¼À´¹¤×÷µÄ£¬ËüµÄ×÷ÓÃÊǰüº¬IPµØÖ·ºÍHost name(Ö÷»úÃû)µÄÓ³Éä¹ØÏµ£¬ÊÇÒ»¸öÓ³ÉäIPµØÖ·ºÍHostname(Ö÷»úÃû)µÄ¹æ¶¨£¬¹æ¶¨ÒªÇóÿ¶ÎÖ»ÄܰüÀ¨Ò»¸öÓ³Éä¹ØÏµ£¬IPµØÖ·Òª·ÅÔÚÿ¶ÎµÄ×îÇ°Ãæ£¬¿Õ¸ñºóÔÙдÉÏÓ³ÉäµÄHost name(Ö÷»úÃû)¡£¶ÔÓÚÕâ¶ÎµÄÓ³Éä˵Ã÷ÓÓ#”·Ö¸îºóÓÃÎÄ×Ö˵Ã÷¡£
ÏÖÔÚÈÃÎÒÃÇÀ´¿´¿´HostsÔÚWindowsÖÐÊÇÔõô¹¤×÷µÄ¡£
ÎÒÃÇÖªµÀÔÚÍøÂçÉÏ·ÃÎÊÍøÕ¾£¬ÒªÊ×ÏÈͨ¹ýDNS·þÎñÆ÷°ÑÍøÂçÓòÃû£¨www.XXXX.com£©½âÎö³É61.XXX.XXX.XXXµÄIPµØÖ·ºó£¬ÎÒÃǵļÆËã»ú²ÅÄÜ·ÃÎÊ¡£ÒªÊǶÔÓÚÿ¸öÓòÃûÇëÇóÎÒÃǶ¼ÒªµÈ´ýÓòÃû·þÎñÆ÷½âÎöºó·µ»ØIPÐÅÏ¢£¬ÕâÑù·ÃÎÊÍøÂçµÄЧÂʾͻήµÍ£¬¶øHostsÎļþ¾ÍÄÜÌá¸ß½âÎöЧÂÊ¡£¸ù¾ÝWindowsϵͳ¹æ¶¨£¬ÔÚ½øÐÐDNSÇëÇóÒÔǰ£¬Windowsϵͳ»áÏÈ¼ì² ......
¹Ø¼ü´Ê£º
Õ»Çø£º¾ÍÊÇÒ»¸öÄÚ´æµØÖ·¿Õ¼ä£¬Ã¿µ÷ÓÃÒ»´Îº¯Êý¾Í»áÔÚÕ»ÇøÎª´Ëº¯Êý·ÖÅäÒ»¶Î¿Õ¼ä£¨Ö÷ÒªÓÃÓÚ´æ´¢¾Ö²¿±äÁ¿£¬
´Ë¶Î¿Õ¼äÏÂÃæ¾ÍÖ±½Ó¶¨ÒåΪº¯ÊýÕ»£©
ebp :ÓÃÓÚ´æ·Åº¯ÊýÕ»µÄÕ»¶¥µØÖ·
esp:ÓÃÓÚ´æ·Å´Ëº¯ÊýÕ»µÄÕ»µ×µØÖ·
×¢Ò⣺ջ¶¥µØÖ·´óÓÚÕ»µ×µØÖ·£¬Õ»ÊÇ´ÓÕ»¶¥ÏòÕ»µ×Ôö³¤¡£¼´ebp-->esp;
ÏÂÃæÎÒÃÇ·ÖÎöÈçÏ´úÂëÀý×Ó£¬¿´¿´ËüµÄµ÷ÓûúÖÆ
#include<stdio.h>
int fun(int c)
{
int d=c+1;
return d;
}
int main()
{
int a=1;
int b=fun(a);
return 0;
}
int a=1;
»ã±à´úÂ룺 mov dword ptr [ebp-4],1
ºÜÏÔÈ»£¬ebpÊÇÓÃ×÷µÄÁË»ùÖ·¼Ä´æÆ÷£¬×¢ÒâebpµÄÖµÊDz»»á±äµÄ£¬Ëü»á¹Ì¶¨Ö¸Ïòº¯ÊýÕ»µÄÕ»¶¥£¬ÔÚÕâÀïebp´ËʱµÄÖµÊÇ0x0013FF80
int b=fun(a);
»ã±à´úÂ룺
mov &nb ......