CÔËÐÐʱ¿â£¨½âÎömainCRTStartup£©
1.¸ÅÂÛ
¡¡¡¡ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÔËÐÐʱ¿âÊÇÒÔLIB»òDLLÐÎʽÌṩµÄ¡£CÔËÐÐʱ¿âµ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬µ±Ê±µÄ³ÌÐòÊÀ½ç»¹ºÜµ¥´¿£¬Ó¦ÓóÌÐò¶¼Êǵ¥Ï̵߳쬶àÈÎÎñ»ò¶àÏ̻߳úÖÆÔÚ´Ëʱ»¹ÊôÓÚйÛÄî¡£ËùÒÔÕâ¸öjʱÆÚµÄCÔËÐÐʱ¿â¶¼Êǵ¥Ï̵߳ġ£
¡¡¡¡Ëæ×ŲÙ×÷ϵͳ¶àÏ̼߳¼ÊõµÄ·¢Õ¹£¬×î³õµÄCÔËÐÐʱ¿âÎÞ·¨Âú×ã³ÌÐòµÄÐèÇ󣬳öÏÖÁËÑÏÖØµÄÎÊÌâ¡£CÔËÐÐʱ¿âʹÓÃÁ˶à¸öÈ«¾Ö±äÁ¿£¨ÀýÈçerrno£©ºÍ¾²Ì¬±äÁ¿£¬Õâ¿ÉÄÜÔÚ¶àÏ̳߳ÌÐòÖÐÒýÆð³åÍ»¡£¼ÙÉèÁ½¸öÏ̶߳¼Í¬Ê±ÉèÖÃerrno£¬Æä½á¹ûÊǺóÉèÖõÄerrno»á½«ÏÈǰµÄ¸²¸Ç£¬Óû§µÃ²»µ½ÕýÈ·µÄ´íÎóÐÅÏ¢¡£
¡¡¡¡Òò´Ë£¬Visual C++ÌṩÁËÁ½ÖÖ°æ±¾µÄCÔËÐÐʱ¿â¡£Ò»¸ö°æ±¾¹©µ¥Ïß³ÌÓ¦ÓóÌÐòµ÷Óã¬ÁíÒ»¸ö°æ±¾¹©¶àÏß³ÌÓ¦ÓóÌÐòµ÷Ó᣶àÏß³ÌÔËÐÐʱ¿âÓëµ¥Ïß³ÌÔËÐÐʱ¿âÓÐÁ½¸öÖØ´ó²î±ð£º
¡¡¡¡£¨1£©ÀàËÆerrnoµÄÈ«¾Ö±äÁ¿£¬Ã¿¸öÏ̵߳¥¶ÀÉèÖÃÒ»¸ö£»
¡¡¡¡ÕâÑù´Óÿ¸öÏß³ÌÖпÉÒÔ»ñÈ¡ÕýÈ·µÄ´íÎóÐÅÏ¢¡£
¡¡¡¡£¨2£©¶àÏ߳̿âÖеÄÊý¾Ý½á¹¹ÒÔͬ²½»úÖÆ¼ÓÒÔ±£»¤¡£
¡¡¡¡ÕâÑù¿ÉÒÔ±ÜÃâ·ÃÎÊʱºòµÄ³åÍ»¡£
¡¡¡¡Visual C++ÌṩµÄ¶àÏß³ÌÔËÐÐʱ¿âÓÖ·ÖΪ¾²Ì¬Á´½Ó¿âºÍ¶¯Ì¬Á´½Ó¿âÁ½À࣬¶øÃ¿Ò»ÀàÔËÐÐʱ¿âÓÖ¿ÉÔÙ·ÖΪdebug°æºÍrelease°æ£¬Òò´ËVisual C++¹²ÌṩÁË6¸öÔËÐÐʱ¿â¡£ÈçÏÂ±í£º
CÔËÐÐʱ¿â ¿âÎļþ
Single thread(static link) libc.lib
Debug single thread(static link) libcd.lib
MultiThread(static link) libcmt.lib
Debug multiThread(static link) libcmtd.lib
MultiThread(dynamic link) msvert.lib
Debug multiThread(dynamic link) msvertd.lib
void mainCRTStartup(void)
{
¡¡int mainret;
¡¡/*»ñµÃWIN32ÍêÕûµÄ°æ±¾ÐÅÏ¢*/
¡¡_osver = GetVersion();
¡¡_winminor = (_osver >> 8) & 0x00FF ;
¡¡_winmajor = _osver & 0x00FF ;
¡¡_winver = (_winmajor << 8) + _winminor;
¡¡_osver = (_osver >> 16) & 0x00FFFF ;
¡¡_ioinit(); /* initialize lowio */
¡¡/* »ñµÃÃüÁîÐÐÐÅÏ¢ */
¡¡_acmdln = (char *) GetCommandLineA();
¡¡/* »ñµÃ»·¾³ÐÅÏ¢ */
¡¡_aenvptr = (char *) __crtGetEnvironmentStringsA();
¡¡_setargv(); /* ÉèÖÃÃüÁîÐвÎÊý */
¡¡_setenvp(); /* ÉèÖû·¾³²ÎÊý */
¡¡_cinit(); /* CÊý¾Ý³õʼ»¯£ºÈ«¾Ö±äÁ¿³õʼ»¯£¬¾ÍÔÚÕâÀ*/
¡¡__initenv = _environ;
¡¡mainret = main( __argc, __argv, _environ ); /*µ÷ÓÃmainº¯Êý*/
¡¡exit( mainret );
Ïà¹ØÎĵµ£º
C²âÊÔС³ÌÐò
1¡¢ ×Ö·û´®Àà
1.1 strstr
¹¦ÄÜ£º²éÕҺͻñÈ¡×Ó´®
void test_strstr()
{
char *str="Borland Inte ......
Èç×ªÔØ£¬Çë×¢Ã÷³ö´¦£ºhttp://blog.csdn.net/zhangyang0402/archive/2010/05/01/5549266.aspx
¿ª·¢¹¤¾ß£ºVC ++ 6.0 MASM32
Ò»¡¢__cdeclµ÷Ó÷½Ê½
1£® ÔÚVCÖÐн¨Win32 Console Application, TestASM
2£® н¨test.c
#include<stdio.h>
extern void swap(int * ......
ÏÈÊÇÄÚºËÇý¶¯³ÌÐò£º
#include <linux/module.h>//¾ßÌåµÄÍ·ÎļþλÖÃΪ/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......
µÚ4Õ ÔõÑù²ÅÄܱ£Ö¤²âÊÔЧ¹û£¿
4.1 ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±ê£º°×ºÐ¸²¸Ç
ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±êÊǰ׺и²¸ÇÂÊ£¬¼´Í³¼Æ²âÊÔ¶Ô´úÂëÂß¼µ¥Î»µÄ¸²¸Ç×´¿ö¡£´úÂëµÄÂß¼µ¥Î»Ö÷ÒªÓУºÓï¾ä(¿é)£¬Ìõ¼þ¡¢Åж¨¡¢·ÖÖ§¡¢Â·¾¶¡£³£Óõİ׺и²¸ÇÓÐÁùÖÖ£ºÓï¾ä¸²¸Ç¡¢Ìõ¼þ¸²¸Ç¡¢·ÖÖ§¸²¸Ç¡¢Åж¨Ìõ¼þ¸²¸Ç¡¢ÐÞÕýÅж¨Ìõ¼þ¸²¸Ç¡¢º ......
¾ö¶¨ÕÒʱ¼ä°ÑÊý¾Ý½á¹¹¸´Ï°Ï£¬´ÓÁ´±í¿ªÊ¼°É¡£Õâһ֪ʶµãËä˵²¢²»Éæ¼°¸´ÔÓµÄËã·¨£¬²»ÐèÒª·Ñ¾¡Í·ÄÔȥ˼¿¼À´ÁúÈ¥Âö£¬µ«ÊÇҪд³öÍêÕûµÄ³ÌÐòÀ´£¬»¹ÊÇÒª»¨Ò»Ð©Ê±¼äµÄ¡£ÌرðÊÇÈç¹û¶ÔÖ¸Õë²Ù×÷²»¹»ÊìÁ·£¬¼«Ò׳ö´í¡£ºÃ¾ÃûÓÃCд³ÌÐòÁË……
ÍêÕû´úÂ룺
/*
* µ¥Á´±í»ù±¾²Ù×÷C°æÊµÏÖ³ÌÐò
* °üÀ¨²åÈ롢ɾ³ý¡¢²éÕÒ¡£
*
* ......