´ò¿ªÎļþ»òÕß³ÌÐò
1¡¢ShellExecute(0,"open","c:\\abc.exe","","",SW_SHOW);
2¡¢WinExec("c:\\a.exe",SW_SHOW);
3¡¢system("dir c:\\");
¹Ø±ÕÎļþ
m_hwnd = FindWindows("Notepad","a.txt-¼Çʱ¾");
SendMessage(m_hwnd,WM_SYSCOMMAND,SC_CLOSE,0);
Òþ²ØDOS´°¿Ú
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
¹âÇý¿ª¹Ø
#include <windows.h>
#include <mmsystem.h>
mciSendString("set cdaudio door open",NULL,0,0);
mciSendString("set cdaudio door closed",NULL,0,0);
Õâ¸ö¶«¶«ÊÇÎÒÓÃÀ´ÏÅ»£Í¬Êµģ¬(*^__^*) ÎûÎû……
ÔÚÒ»¸öÆáºÚµÄÍíÉÏ£¬ÉìÊÖ²»¼ûÎåÖ¸£¬ÎÒµÄÒ»¸öͬÊÂÔڼӰ࣬……£¬Í»È»ÎҵĵçÄÔ²¥·ÅÁ˿ֲÀÉúÉùÒô¡¢¹âÇýÒ»³öÒ»½øµÄ£¨ÊÂÏÈ×¼±¸ºÃ£©……
½á¹ûÎÒµÄͬÊÂÒ»¼¤¶¯……°ÑÎÒµçÄԵĵçÔ´¸ø°ÎÁË£¡
·¾¶»ñÈ¡
char path[200];
GetCurrentDirectory(200,path);//»ñÈ¡µ±Ç°Â·¾¶ ²»°üº¬±¾³ÌÐò
GetModuleFileName(NULL,path,200);//»ñÈ¡µ±Ç°Â·¾¶ °üº¬±¾³ÌÐò
SHGetSpecialFolderPath(NULL,path,CSIDL_STARTUP,TRUE);//»ñÈ¡¿ªÊ¼Æô¶¯Â·¾¶
GetSystemDirectory ......
´ò¿ªÎļþ»òÕß³ÌÐò
1¡¢ShellExecute(0,"open","c:\\abc.exe","","",SW_SHOW);
2¡¢WinExec("c:\\a.exe",SW_SHOW);
3¡¢system("dir c:\\");
¹Ø±ÕÎļþ
m_hwnd = FindWindows("Notepad","a.txt-¼Çʱ¾");
SendMessage(m_hwnd,WM_SYSCOMMAND,SC_CLOSE,0);
Òþ²ØDOS´°¿Ú
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
¹âÇý¿ª¹Ø
#include <windows.h>
#include <mmsystem.h>
mciSendString("set cdaudio door open",NULL,0,0);
mciSendString("set cdaudio door closed",NULL,0,0);
Õâ¸ö¶«¶«ÊÇÎÒÓÃÀ´ÏÅ»£Í¬Êµģ¬(*^__^*) ÎûÎû……
ÔÚÒ»¸öÆáºÚµÄÍíÉÏ£¬ÉìÊÖ²»¼ûÎåÖ¸£¬ÎÒµÄÒ»¸öͬÊÂÔڼӰ࣬……£¬Í»È»ÎҵĵçÄÔ²¥·ÅÁ˿ֲÀÉúÉùÒô¡¢¹âÇýÒ»³öÒ»½øµÄ£¨ÊÂÏÈ×¼±¸ºÃ£©……
½á¹ûÎÒµÄͬÊÂÒ»¼¤¶¯……°ÑÎÒµçÄԵĵçÔ´¸ø°ÎÁË£¡
·¾¶»ñÈ¡
char path[200];
GetCurrentDirectory(200,path);//»ñÈ¡µ±Ç°Â·¾¶ ²»°üº¬±¾³ÌÐò
GetModuleFileName(NULL,path,200);//»ñÈ¡µ±Ç°Â·¾¶ °üº¬±¾³ÌÐò
SHGetSpecialFolderPath(NULL,path,CSIDL_STARTUP,TRUE);//»ñÈ¡¿ªÊ¼Æô¶¯Â·¾¶
GetSystemDirectory ......
·¢ÐÅÈË: RoachCock (·´¶¯Ñ§ÊõȨÍþ), ÐÅÇø: CPlusPlus
±ê Ìâ: extern "C" ÔĶÁ±Ê¼Ç
·¢ÐÅÕ¾: ˮľÉçÇø (Fri Mar 7 00:22:47 2008), Õ¾ÄÚ
±¾ÒÔΪºÜ¼òµ¥£¬×ÐϸÔĶÁÁËһϠC++ ±ê×¼£¬·¢ÏÖÄÚÈÝ»¹²»ÉÙ¡£×ܽáÁËһϡ£
Òªµã£º
º¯ÊýÀàÐÍ£¬º¯ÊýÃû£¬±äÁ¿Ãû¾ßÓÐÓïÑÔÁ´½ÓÐÔ£¬language linkage¡£
ÓïÑÔÁ´½ÓÐÔ¿ÉÄÜ»áÓ°Ïìµ½Ãû×ÖÒÔ¼°µ÷ÓÃÔ¼¶¨µÈ£¬ÓÉʵÏÖ¾ö¶¨¡£
C++ ĬÈϵÄÓïÑÔÁ¬½ÓÐÔÊÇ C++ ÓïÑÔÁ´½ÓÐÔ¡£
ÓïÑÔÁ´½ÓÐÔ½ö×÷ÓÃÓÚº¯ÊýÀàÐÍ£¬º¯ÊýÃû£¬±äÁ¿Ãû¡£
²»Í¬ÓïÑÔÁ´½ÓÐԵĺ¯ÊýÀàÐÍÊDz»Í¬µÄÀàÐÍ£¬¼´±ãÆäÓàµÄµØ·½¶¼Ïàͬ¡£
ÓïÑÔÁ´½ÓÐÔÓÃÁ´½ÓÐÔ¹æ¸ñ£¨linkage-specification£©À´ÉùÃ÷£¬·ÖÓÐÎÞ´óÀ¨ºÅÁ½ÖÖÐÎʽ¡£
extern string-literal { declaration-seq opt }
extern string-literal declaration;
ËùÓеÄʵÏÖ¶¼±ØÐëÖ§³Ö "C" ºÍ "C++" Á´½ÓÐÔ¡£
Á´½ÓÐÔ¹æ¸ñÔÊÐíǶÌ×£¬´Ëʱ×îÄÚ²ãµÄÄǸöÆð×÷Ó㬵«ÊDz¢²»½¨Á¢×÷ÓÃÓò¡£
extern "C" { extern "C++" { class A{}; } }
extern "C" { class B:A{};}
ÒòΪ²»ÊÇ×÷ÓÃÓò£¬B ¿ÉÒÔ ......
ÄÚºËÆô¶¯µÄÏÖÔÚÒѾÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboot´«µÝ¸økernelµÄ²ÎÊý£ºÔ¤ÏÈ´æ·ÅÔÚij¸öµØ·½µÄtagºÍ»úÆ÷ÀàÐÍid£¬»úÆ÷ÀàÐÍidÔÚº¯Êý__look_up_machine
ÖÐÒѾʹÓã¬tagÁбíÊÇÔÚº¯Êýsetup_archÖе÷Óõġ£setup_archº¯ÊýÊÇÔÚarch/arm/kernel/setup.cÖж¨Ò壺
void __init setup_arch(char **cmdline_p)
{
....
setup_processor(); // ´¦ÀíÆ÷Ïà¹ØµÄÉèÖÃ
mdesc = setup_machine(machine_arch_type); // µÃµ½machine_desc½á¹¹
machine_name = mdesc->name;
...
if (mdesc->boot_params) // ¶¨ÒåÁËubootµÄ²ÎÊý
tags = phys_to_virt(mdesc->boot_params); // µÃµ½uboot²ÎÊýtagµØÖ·
...
if (tags->hdr.tag == ATAG_CORE) {
& ......
ÄÚºËÆô¶¯µÄÏÖÔÚÒѾÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboot´«µÝ¸økernelµÄ²ÎÊý£ºÔ¤ÏÈ´æ·ÅÔÚij¸öµØ·½µÄtagºÍ»úÆ÷ÀàÐÍid£¬»úÆ÷ÀàÐÍidÔÚº¯Êý__look_up_machine
ÖÐÒѾʹÓã¬tagÁбíÊÇÔÚº¯Êýsetup_archÖе÷Óõġ£setup_archº¯ÊýÊÇÔÚarch/arm/kernel/setup.cÖж¨Ò壺
void __init setup_arch(char **cmdline_p)
{
....
setup_processor(); // ´¦ÀíÆ÷Ïà¹ØµÄÉèÖÃ
mdesc = setup_machine(machine_arch_type); // µÃµ½machine_desc½á¹¹
machine_name = mdesc->name;
...
if (mdesc->boot_params) // ¶¨ÒåÁËubootµÄ²ÎÊý
tags = phys_to_virt(mdesc->boot_params); // µÃµ½uboot²ÎÊýtagµØÖ·
...
if (tags->hdr.tag == ATAG_CORE) {
& ......
//¿âº¯ÊýʵÏÖ
char *strcat (char *dst, const char *src)
{
char *p = dst;
while (*p)
p++;
while ((*p++ = *src++))
;
return dst;
}
char *strncat (char *s1, const char *s2, long unsigned int n)
{
char *dest = s1;
char c;
while (*s1) s1++;
c = '\0';
while (n > 0)
{
c = *s2++;
*s1++ = c;
if (c == '\0')
return dest;
n--;
}
if (c != '\0')
*s1 = '\0';
return dest;
}
char * strcpy (char *d, const char *s)//
{
char *r = d;
while ((*d++ = *s++));
return r;
}
char *strncpy (char *s1, const char *s2, long unsigned int n)
{
char *dest = s1;
for (; *s2 && n; n--) //n Èç¹û´óÓÚs2µÄ³¤¶È£¬ÔòÉèÖÃ0
*s1++ = *s2++;
while ( ......
·¢ÏÖ¸öÈ«¾Ö±äÁ¿Óë¾Ö²¿±äÁ¿µÄÇø±ð:
[code=C/C++]
char** t;
main()
{
char c[1];
char** t1;
sprintf(c,"%d",t);
printf("t=%s---\n",c);
if(strcmp(c,"0")!=0)
{
printf("t is Not Null\n");
}
sprintf(c,"%d",t1);
printf("t1=%s---\n",c);
if(strcmp(c,"0")!=0)
{
printf("t1 is Not Null\n");
}
}
[/code] ......
Ò» £¬ÔõÑùѧϰCÓïÑÔ
ºÜ¶àÈ˶ÔѧϰCÓïÑԸе½ÎÞ´ÓÏÂÊÖ£¬¾³£ÎÊÎÒͬһ¸öÎÊÌ⣺¾¿¾¹ÔõÑùѧϰCÓïÑÔ£¿ÎÒÊÇÒ»¸ö½Ìʦ£¬ÒѾ¿ª·¢Á˺ܶàÄêµÄ³ÌÐò£¬ºÍºÜ¶à¸Õ¸ÕÆð²½µÄÈËÒ»Ñù£¬Ñ§Ï°µÄµÚÒ»¸ö¼ÆËã»úÓïÑÔ¾ÍÊÇCÓïÑÔ¡£¾¹ýÕâЩÄêµÄ¿ª·¢£¬ÎÒÉîÉîµÄÌå»áµ½CÓïÑÔ¶ÔÓÚÒ»¸ö³ÌÐòÉè¼ÆÈËÔ±¶àôµÄÖØÒª£¬Èç¹û²»¶®CÓïÑÔ£¬ÄãÏëдµ×²ã³ÌÐòÕ⼸ºõÌýÆðÀ´ºÜ¿ÉЦ£¬²»¶®CÓïÑÔ£¬ÄãÏëд³öÓÅÐã¸ßЧµÄ³Ì庌輌Õâ¼òÖ±¾ÍÊÇÌ췽ҹ̷¡£ÎªÊ²Ã´CÓïÑÔÈç´ËÖØÒªÄØ£¿
µÚÒ»:CÓïÑÔÓï·¨½á¹¹ºÜ¼ò½à¾«Ãд³öµÄ³ÌÐòÒ²ºÜ¸ßЧ£¬ºÜ±ãÓÚÃèÊöËã·¨£¬´ó¶àÊýµÄ³ÌÐòÔ±Ô¸ÒâʹÓÃCÓïÑÔÈ¥ÃèÊöËã·¨±¾Éí£¬ËùÒÔ£¬Èç¹ûÄãÏëÔÚ³ÌÐòÉè¼Æ·½ÃæÓÐËù½¨Ê÷£¬¾Í±ØÐëȥѧËü¡£
µÚ¶þ£ºCÓïÑÔÄܹ»ÈÃÄãÉîÈëϵͳµ×²ã£¬ÄãÖªµÀµÄ²Ù×÷ϵͳ£¬ÄÄÒ»¸ö²»ÊÇCÓïÑÔдµÄ£¿ËùÓеÄwindows,Unix,Linux,Mac,os/2£¬Ã»ÓÐÒ»¸öÀïÍâµÄ£¬Èç¹ûÄã²»¶®CÓïÑÔ£¬Ôõô¿ÉÄÜÉîÈëµ½ÕâЩ²Ù×÷ϵͳµ±ÖÐÈ¥ÄØ£¿¸ü²»ÒªËµÄãȥдËüÃǵÄÄں˳ÌÐòÁË¡£
µÚÈý£ººÜ¶àÐÂÐ͵ÄÓïÑÔ¶¼ÊÇÑÜÉú×ÔCÓïÑÔ£¬C++,Java,C#,J#,perl...Äĸö²»ÊÇÄØ£¿ÕÆÎÕÁËCÓïÑÔ£¬¿ÉÒÔ˵Äã¾ÍÕÆÎÕÁ˺ܶ ......