C++标准库源码分析之 iterator

本文探讨C++标准库中的iterator,分析其种类标记、关联类型和类型萃取器。通过实例展示了如何根据不同类型的iterator设计特定功能,包括反向迭代器和插入迭代器的使用。
摘要由CSDN通过智能技术生成

iterator

  • 本文代码根据 GNU ISO C++ Library 所含库文件整理,同时参考了 Microsoft Visual Studio Community 2017 版本 15.8.4 的库文件源代码和《STL 源码分析》(侯捷著)中的第 3 章内容
  • 本文暂时略去了源文件中的异常处理代码

iterator 概述

  • 每一种 STL 容器都有专属的迭代器,避免暴露容器的内部结构

iterator 的种类标记

  • 迭代器通常分为五种:input_iterator, output_iterator, forward_iterator, bidirectional_iterator, random_access_iterator
  • 种类标记必须是类型,以便根据不同的类型重载函数
struct input_iterator_tag {
   };
struct output_iterator_tag {
   };
struct forward_iterator_tag :       public input_iterator_tag {
   };
struct bidirectional_iterator_tag : public forward_iterator_tag {
   };
struct random_access_iterator_tag : public bidirectional_iterator_tag {
   };

iterator 的关联类型

  • 与标准库兼容的迭代器必须定义五种关联类型
template <typename Category, typename T, typename Distance = ptrdiff_t, 
          typename Pointer = T*, typename Reference = T&>
struct iterator
{
   
  typedef Category  iterator_category;
  typedef T         value_type;
  typedef Distance  difference_type;
  typedef Pointer   pointer;
  typedef Reference reference;
};

iterator 的类型萃取器

template <typename It, typename = __void_t<>>
struct __iterator_traits {
   };

template <typename It>
struct __iterator_traits<It, __void_t<typename It::iterator_category,
                                      typename It::value_type,
                                      typename It::difference_type,
                                      typename It::pointer,
                                      typename It::reference>>
{
   
  typedef typename It::iterator_category  iterator_category;
  typedef typename It::value_type         value_type;
  typedef typename It::difference_type    difference_type;
  typedef typename It::pointer            pointer;
  typedef typename It::reference          reference;
};

// 迭代器的类型萃取器
template <typename It>
struct iterator_traits : public __iterator_traits<It> {
   };

// 针对迭代器为原生指针时的特例化萃取器
template <typename T>
struct iterator_traits<T*>
{
   
  typedef random_access_iterator_tag  iterator_category;
  typedef T                           value_type;
  typedef ptrdiff_t                   difference_type;
  typedef T*                          pointer;
  typedef T&                          reference;
};

// 针对迭代器为指向常量的原生指针时的特例化萃取器
template <typename T>
struct iterator_traits<const T*>
{
   
  typedef random_access_iterator_tag  iterator_category;
  typedef T                           value_type;
  typedef ptrdiff_t                   difference_type;
  typedef const T*                    pointer;
  typedef const T&                    reference;
};

// 获取迭代器的种类
template <typename It>
inline constexpr typename iterator_traits<It>::iterator_category // 该函数返回类型为迭代器的 iterator_category
__iterator_category(const It&)
{
    return typename iterator_traits<It>::iterator_category(); }

iterator 种类标记和萃取器的使用

根据不同种类的 iterator 设计不同的 distance() 函数

template <typename InputIterator>
inline constexpr typename iterator_traits<InputIterator>::difference_type
__distance(InputIterator first, InputIterator last, input_iterator_tag)
{
    // 输入迭代器,只能向前单步前进
  typename iterator_traits<InputIterator>::difference_type n = 0;
  while (first != last)
  {
   
    ++first;
    ++n
  }
  return n;
}

template <typename RandomAccessIterator>
inline constexpr typename iterator_traits<RandomAccessIterator>::difference_type
__distance(RandomAccessIterator first, RandomAccessIterator last, random_access_iterator_tag)
{
    // 随机访问迭代器,可跳跃前进
  return last - first;
}

// 对外接口
template <typename InputIterator>
inline constexpr typename iterator_traits<InputIterator>::difference_type
distance(InputIterator first, InputIterator last)
{
    return __distance(first, last, __iterator_category(first)); }

根据不同种类的 iterator 设计不同的 advance() 函数

template <typename InputIterator, typename Distance>
inline constexpr void __advance(InputIterator& it, Distance n, input_iterator_tag)
{
    // 输入迭代器,只能向前单步前进
  assert(n >= 0);
  while (n--) ++it;
}

template <typename BidirectionalIterator, typename Distance>
inline constexpr void __advance(BidirectionalIterator& it, Distance n, bidirectional_iterator_tag)
{
    // 双向迭代器,只能向前或向后单步前进
  if (n > 0) while (n--) ++it;
  else       while (n++) --it;
}

template <typename RandomAccessIterator, typename Distance>
inline constexpr void __advance(RandomAccessIterator& it, Distance n, random_access_iterator_tag)
{
    // 随机访问迭代器,可跳跃前进
  it += n;
}

// 对外接口
template <typename InputIterator, typename Distance>
inline constexpr void __advance(InputIterator& it, Distance n)
{
    __advance(it, n, __iterator_category(it)); }
next()prev()
template <typename ForwardIterator>
inline constexpr ForwardIterator 
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
介绍说明 C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源代码\ASCTIME.C C标准库源代码\ASSERT.C C标准库源代码\ASSERT.H C标准库源代码\ATOF.C C标准库源代码\ATONEXIT.C C 标准库源代码\ATOX.C C标准库源代码\AWINT.H C标准库源代码\AW_COM.C C标准库源代码\A_CMP.C C 标准库源代码\A_ENV.C C标准库源代码\A_LOC.C C标准库源代码\A_MAP.C C标准库源代码\A_STR.C C 标准库源代码\BINMODE.C C标准库源代码\BITSET C标准库源代码\BLDNT.CMD C标准库源代码\BLDWIN95.BAT C标准库源代码\BSEARCH.C C标准库源代码\CALLOC.C C标准库源代码\CASSERT C标准库源代码\CCTYPE C标准库源代码\CENVARG.C C标准库源代码\CERRINIT.CPP C 标准库源代码\CERRNO C标准库源代码\CFINFO.C C标准库源代码\CFLOAT C标准库源代码\CGETS.C C 标准库源代码\CHARMAX.C C标准库源代码\CHDIR.C C标准库源代码\CHMOD.C C标准库源代码\CHSIZE.C C标准库源代码\CININIT.CPP C标准库源代码\CINITEXE.C C标准库源代码\CISO646 C标准库源代码\CLEARERR.C C标准库源代码\CLIMITS C标准库源代码\CLOCALE C 标准库源代码\CLOCK.C C标准库源代码\CLOGINIT.CPP C标准库源代码\CLOSE.C C标准库源代码\CLOSEALL.C C标准库源代码\CMATH C标准库源代码\CMISCDAT.C C标准库源代码\CMSGS.H C 标准库源代码\COMMIT.C C标准库源代码\COMMODE.C C标准库源代码\COMPLEX C标准库源代码\CONIO.H C标准库源代码\CPRINTF.C C标准库源代码\CPUTS.C C标准库源代码\CREAT.C C 标准库源代码\CRT0.C C标准库源代码\CRT0DAT.C C标准库源代码\CRT0FP.C C标准库源代码\CRT0INIT.C C标准库源代码\CRT0MSG.C C标准库源代码\CRTDBG.H C标准库源代码\CRTDLL.C C标准库源代码\CRTEXE.C C标准库源代码\CRTEXEW.C C标准库源代码\CRTLIB.C C 标准库源代码\CRTMBOX.C C标准库源代码\CRUNTIME.H C标准库源代码\CRUNTIME.INC C标准库源代码\CSCANF.C C标准库源代码\CSETJMP C标准库源代码\CSIGNAL C标准库源代码\CSTDARG C 标准库源代码\CSTDDEF C标准库源代码\CSTDIO C标准库源代码\CSTDLIB C标准库源代码\CSTRING C 标准库源代码\CTIME C标准库源代码\CTIME.C C标准库源代码\CTIME.H C标准库源代码\CTYPE.C C 标准库源代码\CTYPE.H C标准库源代码\CVT.H C标准库源代码\CWCHAR C标准库源代码\CWCTYPE C 标准库源代码\DAYS.C C标准库源代码\DBGDEL.CPP C标准库源代码\DBGHEAP.C C标准库源代码\DBGHOOK.C C标准库源代码\DBGINT.H C标准库源代码\DBGNEW.CPP C标准库源代码\DBGRPT.C C标准库源代码\DEFSECTS.INC C标准库源代码\DELETE.CPP C标准库源代码\DELOP.CPP C标准库源代码\DELOP_S.CPP C标准库源代码\DEQUE C标准库源代码\DIFFTIME.C C标准库源代码\DIRECT.H C标准库源代码\DIV.C C标准库源代码\DLLARGV.C C 标准库源代码\DLLCRT0.C C标准库源代码\DLLDEF.CPP C标准库源代码\DLLMAIN.C C标准库源代码\DLL_ARGV.C C标准库源代码\DOS.H C标准库源代码\DOSMAP.C C标准库源代码\DOSPAWN.C C 标准库源代码\DOSTYPES.H C标准库源代码\DRIVE.C C标准库源代码\DRIVEMAP.C C标准库源代码\DRIVFREE.C C标准库源代码\DTOXTIME.C C标准库源代码\DUP.C C标准库源代码\DUP2.C C 标准库源代码\EOF.C C标准库源代码\ERRMODE.C C标准库源代码\ERRMSG.H C标准库源代码\ERRNO.H C 标准库源代码\EXCEPT.INC C标准库源代码\EXCPT.H C标准库源代码\EXECL.C C标准库源代码\EXECLE.C C标准库源代码\EXECLP.C C标准库源代码\EXECLPE.C C标准库源代码\EXECV.C C 标准库源代码\EXECVE.C C标准库源代码\EXECVP.C C标准库源代码\EXECVPE.C C标准库源代码\EXPAND.C C标准库源代码\EXSUP.INC C标准库源代码\FCLOSE.C C标准库源代码\FCNTL.H C 标准库源代码\FCTIONAL C标准库源代码\FCVT.C C标准库源代码\FDOPEN.C C标准库源代码\FEOFERR.C C标准库源代码\FFLUSH.C C标准库源代码\FGETC.C C标准库源代码\FGETCHAR.C C 标准库源代码\FGETPOS.C C标准库源代码\FGETS.C C标准库源代码\FGETWC.C C标准库源代码\FGETWCHR.C C标准库源代码\FGETWS.C C标准库源代码\FILE2.H C标准库源代码\FILEBUF.CPP C标准库源代码\FILEBUF1.CPP C标准库源代码\FILEINFO.C C标准库源代码\FILENO.C C标准库源代码\FINDADDR.C C标准库源代码\FINDFI64.C C标准库源代码\FINDFILE.C C标准库源代码\FIOPEN.CPP C标准库源代码\FLENGTH.C C标准库源代码\FLENI64.C C标准库源代码\FLOAT.H C标准库源代码\FLTINTRN.H C标准库源代码\FOPEN.C C 标准库源代码\FP10.C C标准库源代码\FPIEEE.H C标准库源代码\FPRINTF.C C标准库源代码\FPUTC.C C标准库源代码\FPUTCHAR.C C标准库源代码\FPUTS.C C标准库源代码\FPUTWC.C C 标准库源代码\FPUTWCHR.C C标准库源代码\FPUTWS.C C标准库源代码\FREAD.C C标准库源代码\FREE.C C标准库源代码\FREOPEN.C C标准库源代码\FSCANF.C C标准库源代码\FSEEK.C C 标准库源代码\FSEEKI64.C C标准库源代码\FSETPOS.C C标准库源代码\FSTAT.C C标准库源代码\FSTATI64.C C标准库源代码\FSTREAM C标准库源代码\FSTREAM.CPP C标准库源代码\FSTREAM.H C标准库源代码\FTELL.C C标准库源代码\FTELLI64.C C标准库源代码\FTIME.C C 标准库源代码\FULLPATH.C C标准库源代码\FWPRINTF.C C标准库源代码\FWRITE.C C标准库源代码\FWSCANF.C C标准库源代码\GCVT.C C标准库源代码\GETCH.C C标准库源代码\GETCWD.C C 标准库源代码\GETENV.C C标准库源代码\GETPATH.C C标准库源代码\GETPID.C C标准库源代码\GETPROC.C C标准库源代码\GETQLOC.C C标准库源代码\GETS.C C标准库源代码\GETW.C C 标准库源代码\GETWS.C C标准库源代码\GMTIME.C C标准库源代码\HANDLER.CPP C标准库源代码\HEAP.H C标准库源代码\HEAPADD.C C标准库源代码\HEAPCHK.C C标准库源代码\HEAPDUMP.C C 标准库源代码\HEAPGROW.C C标准库源代码\HEAPHOOK.C C标准库源代码\HEAPINIT.C C标准库源代码\HEAPMIN.C C标准库源代码\HEAPPRM.C C标准库源代码\HEAPSRCH.C C标准库源代码\HEAPUSED.C C标准库源代码\HEAPWALK.C C标准库源代码\HPABORT.C C标准库源代码\IFSTREAM.CPP C标准库源代码\INITCOLL.C C标准库源代码\INITCON.C C标准库源代码\INITCTYP.C C标准库源代码\INITHELP.C C标准库源代码\INITMON.C C标准库源代码\INITNUM.C C标准库源代码\INITTIME.C C标准库源代码\INPUT.C C标准库源代码\INTERNAL.H C标准库源代码\IO.H C标准库源代码\IOINIT.C C标准库源代码\IOMANIP C 标准库源代码\IOMANIP.CPP C标准库源代码\IOMANIP.H C标准库源代码\IOS C标准库源代码\IOS.CPP C标准库源代码\IOS.H C标准库源代码\IOSFWD C标准库源代码\IOSTREAM C标准库源代码\IOSTREAM.CPP C标准库源代码\IOSTREAM.H C标准库源代码\IOSTRINI.CPP C标准库源代码\IOS_DLL.C C标准库源代码\ISATTY.C C标准库源代码\ISCTYPE.C C标准库源代码\ISMBALNM.C C标准库源代码\ISMBALPH.C C标准库源代码\ISMBBYTE.C C标准库源代码\ISMBDGT.C C标准库源代码\ISMBGRPH.C C标准库源代码\ISMBKNJ.C C标准库源代码\ISMBLGL.C C标准库源代码\ISMBLWR.C C标准库源代码\ISMBPRN.C C标准库源代码\ISMBPUNC.C C标准库源代码\ISMBSLE.C C标准库源代码\ISMBSPC.C C标准库源代码\ISMBSTR.C C标准库源代码\ISMBUPR.C C标准库源代码\ISO646.H C标准库源代码\ISTRCHAR.CPP C标准库源代码\ISTRDBL.CPP C标准库源代码\ISTREAM C标准库源代码\ISTREAM.CPP C标准库源代码\ISTREAM.H C标准库源代码\ISTREAM1.CPP C标准库源代码\ISTRFLT.CPP C标准库源代码\ISTRGDBL.CPP C标准库源代码\ISTRGET.CPP C标准库源代码\ISTRGETL.CPP C标准库源代码\ISTRGINT.CPP C标准库源代码\ISTRINT.CPP C标准库源代码\ISTRLDBL.CPP C标准库源代码\ISTRLONG.CPP C标准库源代码\ISTRSHRT.CPP C标准库源代码\ISTRUINT.CPP C标准库源代码\ISTRULNG.CPP C标准库源代码\ISTRUSHT.CPP C标准库源代码\ISWCTYPE.C C标准库源代码\ITERATOR C标准库源代码\LABS.C C标准库源代码\LCNVINIT.C C 标准库源代码\LCONV.C C标准库源代码\LDIV.C C标准库源代码\LFIND.C C标准库源代码\LIMITS C 标准库源代码\LIMITS.H C标准库源代码\LIST C标准库源代码\LOADDLL.C C标准库源代码\LOCALE C 标准库源代码\LOCALE.CPP C标准库源代码\LOCALE.H C标准库源代码\LOCALE0.CPP C标准库源代码\LOCALTIM.C C标准库源代码\LOCKING.C C标准库源代码\LSEARCH.C C标准库源代码\LSEEK.C C标准库源代码\LSEEKI64.C C标准库源代码\MAKEFILE C标准库源代码\MAKEFILE.INC C标准库源代码\MAKEFILE.SUB C标准库源代码\MAKEPATH.C C标准库源代码\MALLOC.C C标准库源代码\MALLOC.H C标准库源代码\MAP C标准库源代码\MATH.H C标准库源代码\MBBTYPE.C C标准库源代码\MBCCPY.C C标准库源代码\MBCLEN.C C标准库源代码\MBCLEVEL.C C标准库源代码\MBCTYPE.C C标准库源代码\MBCTYPE.H C标准库源代码\MBDATA.H C标准库源代码\MBLEN.C C标准库源代码\MBSBTYPE.C C标准库源代码\MBSCAT.C C 标准库源代码\MBSCHR.C C标准库源代码\MBSCMP.C C标准库源代码\MBSCOLL.C C标准库源代码\MBSCSPN.C C标准库源代码\MBSDEC.C C标准库源代码\MBSDUP.C C标准库源代码\MBSICMP.C C 标准库源代码\MBSICOLL.C C标准库源代码\MBSINC.C C标准库源代码\MBSLEN.C C标准库源代码\MBSLWR.C C标准库源代码\MBSNBCAT.C C标准库源代码\MBSNBCMP.C C标准库源代码\MBSNBCNT.C C标准库源代码\MBSNBCOL.C C标准库源代码\MBSNBCPY.C C标准库源代码\MBSNBICM.C C标准库源代码\MBSNBICO.C C标准库源代码\MBSNBSET.C C标准库源代码\MBSNCAT.C C标准库源代码\MBSNCCNT.C C标准库源代码\MBSNCMP.C C标准库源代码\MBSNCOLL.C C标准库源代码\MBSNCPY.C C标准库源代码\MBSNEXTC.C C标准库源代码\MBSNICMP.C C标准库源代码\MBSNICOL.C C标准库源代码\MBSNINC.C C标准库源代码\MBSNSET.C C标准库源代码\MBSPBRK.C C标准库源代码\MBSRCHR.C C标准库源代码\MBSREV.C C标准库源代码\MBSSET.C C标准库源代码\MBSSPN.C C标准库源代码\MBSSPNP.C C 标准库源代码\MBSSTR.C C标准库源代码\MBSTOK.C C标准库源代码\MBSTOWCS.C C标准库源代码\MBSTRING.H C标准库源代码\MBSUPR.C C标准库源代码\MBTOHIRA.C C标准库源代码\MBTOKATA.C C标准库源代码\MBTOLWR.C C标准库源代码\MBTOUPR.C C标准库源代码\MBTOWC.C C标准库源代码\MBTOWENV.C C标准库源代码\MEMCCPY.C C标准库源代码\MEMCHR.C C标准库源代码\MEMCMP.C C标准库源代码\MEMCPY.C C标准库源代码\MEMICMP.C C 标准库源代码\MEMMOVE.C C标准库源代码\MEMORY C标准库源代码\MEMORY.H C标准库源代码\MEMSET.C C标准库源代码\MERR.C C标准库源代码\MINMAX.H C标准库源代码\MKDIR.C C 标准库源代码\MKTEMP.C C标准库源代码\MKTIME.C C标准库源代码\MLOCK.C C标准库源代码\MM.INC C 标准库源代码\MSDOS.H C标准库源代码\MSIZE.C C标准库源代码\MTDLL.H C标准库源代码\MTERRNO.C C标准库源代码\MTLOCK.C C标准库源代码\NCOMMODE.C C标准库源代码\NEW C 标准库源代码\NEW.CPP C标准库源代码\NEW.H C标准库源代码\NEWMODE.C C标准库源代码\NEWOP.CPP C标准库源代码\NEWOP2.CPP C标准库源代码\NEWOP2_S.CPP C标准库源代码\NEWOP_S.CPP C标准库源代码\NEW_MODE.CPP C标准库源代码\NLSDATA1.C C标准库源代码\NLSDATA2.C C标准库源代码\NLSDATA3.C C标准库源代码\NLSINT.H C标准库源代码\NMKTOBAT.C C标准库源代码\NOMEMORY.CPP C标准库源代码\NUMERIC C标准库源代码\OFSTREAM.CPP C标准库源代码\ONEXIT.C C标准库源代码\OPEN.C C标准库源代码\OSCALLS.H C标准库源代码\OSFINFO.C C标准库源代码\OSTRCHAR.CPP C标准库源代码\OSTRDBL.CPP C标准库源代码\OSTREAM C标准库源代码\OSTREAM.CPP C标准库源代码\OSTREAM.H C标准库源代码\OSTREAM1.CPP C标准库源代码\OSTRINT.CPP C标准库源代码\OSTRLDBL.CPP C标准库源代码\OSTRLONG.CPP C标准库源代码\OSTRPTR.CPP C标准库源代码\OSTRPUT.CPP C标准库源代码\OSTRSHRT.CPP C标准库源代码\OSTRUINT.CPP C标准库源代码\OSTRULNG.CPP C标准库源代码\OSTRUSHT.CPP C标准库源代码\OUTPUT.C C标准库源代码\PERROR.C C标准库源代码\PIPE.C C标准库源代码\PLSTRING.H C标准库源代码\POPEN.C C 标准库源代码\PRINTF.C C标准库源代码\PROCESS.H C标准库源代码\PUREVIRT.C C标准库源代码\PUTCH.C C标准库源代码\PUTENV.C C标准库源代码\PUTS.C C标准库源代码\PUTW.C C标准库源代码\PUTWS.C C标准库源代码\QSORT.C C标准库源代码\QUEUE C标准库源代码\RAND.C C标准库源代码\READ.C C标准库源代码\REALLOC.C C标准库源代码\RENAME.C C标准库源代码\REWIND.C C标准库源代码\RMDIR.C C标准库源代码\RMTMP.C C标准库源代码\ROTL.C C标准库源代码\ROTR.C C标准库源代码\RTERR.H C标准库源代码\SAMPLD_I.DEF C标准库源代码\SAMPLD_P.DEF C标准库源代码\SAMPLE_I.DEF C标准库源代码\SAMPLE_I.RC C标准库源代码\SAMPLE_P.DEF C标准库源代码\SAMPLE_P.RC C标准库源代码\SBHEAP.C C标准库源代码\SCANF.C C标准库源代码\SEARCH.H C标准库源代码\SEARCHEN.C C标准库源代码\SET C标准库源代码\SETARGV.C C标准库源代码\SETBUF.C C标准库源代码\SETENV.C C标准库源代码\SETERRM.C C标准库源代码\SETJMP.H C标准库源代码\SETJMPEX.H C标准库源代码\SETLOCAL.C C标准库源代码\SETLOCAL.H C标准库源代码\SETMAXF.C C标准库源代码\SETMODE.C C标准库源代码\SETNEWH.CPP C标准库源代码\SETVBUF.C C标准库源代码\SHARE.H C标准库源代码\SIGNAL.H C标准库源代码\SLBEEP.C C标准库源代码\SNPRINTF.C C 标准库源代码\SNWPRINT.C C标准库源代码\SPAWNL.C C标准库源代码\SPAWNLE.C C标准库源代码\SPAWNLP.C C标准库源代码\SPAWNLPE.C C标准库源代码\SPAWNV.C C标准库源代码\SPAWNVE.C C标准库源代码\SPAWNVP.C C标准库源代码\SPAWNVPE.C C标准库源代码\SPLITPAT.C C标准库源代码\SPRINTF.C C标准库源代码\SSCANF.C C标准库源代码\SSTREAM C 标准库源代码\STACK C标准库源代码\STAT.C C标准库源代码\STATI64.C C标准库源代码\STDARG.H C 标准库源代码\STDARGV.C C标准库源代码\STDDEF.H C标准库源代码\STDENVP.C C标准库源代码\STDEXCPT.H C标准库源代码\STDIO.H C标准库源代码\STDIOSTR.CPP C标准库源代码\STDIOSTR.H C标准库源代码\STDLIB.H C标准库源代码\STDXCEPT C标准库源代码\STRCAT.C C 标准库源代码\STRCHR.C C标准库源代码\STRCMP.C C标准库源代码\STRCOLL.C C标准库源代码\STRCSPN.C C标准库源代码\STRDATE.C C标准库源代码\STRDUP.C C标准库源代码\STREAM.C C 标准库源代码\STREAMB.CPP C标准库源代码\STREAMB.H C标准库源代码\STREAMB1.CPP C标准库源代码\STREAMBF C标准库源代码\STRERROR.C C标准库源代码\STRFTIME.C C标准库源代码\STRICMP.C C标准库源代码\STRICOLL.C C标准库源代码\STRING C标准库源代码\STRING.CPP C标准库源代码\STRING.H C标准库源代码\STRLEN.C C标准库源代码\STRLWR.C C 标准库源代码\STRMBDBP.CPP C标准库源代码\STRNCAT.C C标准库源代码\STRNCMP.C C标准库源代码\STRNCOLL.C C标准库源代码\STRNCPY.C C标准库源代码\STRNICMP.C C标准库源代码\STRNICOL.C C标准库源代码\STRNSET.C C标准库源代码\STRPBRK.C C标准库源代码\STRRCHR.C C标准库源代码\STRREV.C C标准库源代码\STRSET.C C标准库源代码\STRSPN.C C 标准库源代码\STRSTR.C C标准库源代码\STRSTREA.CPP C标准库源代码\STRSTREA.H C标准库源代码\STRSTREM C标准库源代码\STRTIME.C C标准库源代码\STRTOD.C C标准库源代码\STRTOK.C C 标准库源代码\STRTOL.C C标准库源代码\STRTOQ.C C标准库源代码\STRUPR.C C标准库源代码\STRXFRM.C C标准库源代码\STUBS.C C标准库源代码\SWAB.C C标准库源代码\SWPRINTF.C C 标准库源代码\SWSCANF.C C标准库源代码\SYSERR.C C标准库源代码\SYSERR.H C标准库源代码\SYSTEM.C C标准库源代码\SYSTIME.C C标准库源代码\TCHAR.H C标准库源代码\TELL.C C 标准库源代码\TELLI64.C C标准库源代码\TEMPNAM.C C标准库源代码\THREAD.C C标准库源代码\THREADEX.C C标准库源代码\TIDPRINT.C C标准库源代码\TIDTABLE.C C标准库源代码\TIME.C C标准库源代码\TIME.H C标准库源代码\TIMEB.INC C标准库源代码\TIMESET.C C 标准库源代码\TI_INST.CPP C标准库源代码\TMPFILE.C C标准库源代码\TOJISJMS.C C标准库源代码\TOLOWER.C C标准库源代码\TOMBBMBC.C C标准库源代码\TOUPPER.C C标准库源代码\TOWLOWER.C C标准库源代码\TOWUPPER.C C标准库源代码\TRNSCTRL.H C标准库源代码\TXTMODE.C C标准库源代码\TYPEINFO C标准库源代码\TYPEINFO.H C标准库源代码\TZSET.C C 标准库源代码\UMASK.C C标准库源代码\UNCAUGHT.CPP C标准库源代码\UNGETC.C C标准库源代码\UNGETWC.C C标准库源代码\UNLINK.C C标准库源代码\USEOLDIO.H C标准库源代码\USE_ANSI.H C标准库源代码\UTILITY C标准库源代码\UTIME.C C标准库源代码\V2TOV3.H C 标准库源代码\VALARRAY C标准库源代码\VARARGS.H C标准库源代码\VECTOR C标准库源代码\VFPRINTF.C C标准库源代码\VFWPRINT.C C标准库源代码\VPRINTF.C C标准库源代码\VSNPRINT.C C标准库源代码\VSNWPRNT.C C标准库源代码\VSPRINTF.C C标准库源代码\VSWPRINT.C C标准库源代码\VWPRINTF.C C标准库源代码\WACCESS.C C标准库源代码\WAIT.C C标准库源代码\WASCTIME.C C标准库源代码\WCENVARG.C C标准库源代码\WCHAR.H C 标准库源代码\WCHDIR.C C标准库源代码\WCHMOD.C C标准库源代码\WCREAT.C C标准库源代码\WCRT0.C C标准库源代码\WCRTEXE.C C标准库源代码\WCRTEXEW.C C标准库源代码\WCSCAT.C C 标准库源代码\WCSCHR.C C标准库源代码\WCSCMP.C C标准库源代码\WCSCOLL.C C标准库源代码\WCSCSPN.C C标准库源代码\WCSDUP.C C标准库源代码\WCSFTIME.C C标准库源代码\WCSICMP.C C标准库源代码\WCSICOLL.C C标准库源代码\WCSLEN.C C标准库源代码\WCSLWR.C C标准库源代码\WCSNCAT.C C标准库源代码\WCSNCMP.C C标准库源代码\WCSNCOLL.C C标准库源代码\WCSNCPY.C C标准库源代码\WCSNICMP.C C标准库源代码\WCSNICOL.C C标准库源代码\WCSNSET.C C标准库源代码\WCSPBRK.C C标准库源代码\WCSRCHR.C C标准库源代码\WCSREV.C C标准库源代码\WCSSET.C C标准库源代码\WCSSPN.C C 标准库源代码\WCSSTR.C C标准库源代码\WCSTOD.C C标准库源代码\WCSTOK.C C标准库源代码\WCSTOL.C C标准库源代码\WCSTOMBS.C C标准库源代码\WCSUPR.C C标准库源代码\WCSXFRM.C C标准库源代码\WCTIME.C C标准库源代码\WCTOMB.C C标准库源代码\WCTRANS.C C 标准库源代码\WCTYPE.C C标准库源代码\WCTYPE.H C标准库源代码\WDLLARGV.C C标准库源代码\WDOSPAWN.C C标准库源代码\WEXECL.C C标准库源代码\WEXECLE.C C标准库源代码\WEXECLP.C C标准库源代码\WEXECLPE.C C标准库源代码\WEXECV.C C标准库源代码\WEXECVE.C C标准库源代码\WEXECVP.C C标准库源代码\WEXECVPE.C C标准库源代码\WFDOPEN.C C标准库源代码\WFINDFIL.C C标准库源代码\WFNDFI64.C C标准库源代码\WFOPEN.C C标准库源代码\WFREOPEN.C C标准库源代码\WFULLPAT.C C标准库源代码\WGETCWD.C C标准库源代码\WGETENV.C C标准库源代码\WGETPATH.C C标准库源代码\WILD.C C 标准库源代码\WILDCARD.C C标准库源代码\WIN32S.H C标准库源代码\WINCMDLN.C C标准库源代码\WINCRT0.C C标准库源代码\WINHEAP.H C标准库源代码\WINPUT.C C标准库源代码\WINSIG.C C 标准库源代码\WINXFLTR.C C标准库源代码\WIOSTREA.CPP C标准库源代码\WLOCALE.CPP C标准库源代码\WMAKEPAT.C C标准库源代码\WMKDIR.C C标准库源代码\WMKTEMP.C C标准库源代码\WOPEN.C C标准库源代码\WOUTPUT.C C标准库源代码\WPERROR.C C标准库源代码\WPOPEN.C C 标准库源代码\WPRINTF.C C标准库源代码\WPUTENV.C C标准库源代码\WRENAME.C C标准库源代码\WRITE.C C标准库源代码\WRMDIR.C C标准库源代码\WRT2ERR.C C标准库源代码\WSCANF.C C 标准库源代码\WSEARCHE.C C标准库源代码\WSETARGV.C C标准库源代码\WSETENV.C C标准库源代码\WSETLOCA.C C标准库源代码\WSPAWNL.C C标准库源代码\WSPAWNLE.C C标准库源代码\WSPAWNLP.C C标准库源代码\WSPAWNV.C C标准库源代码\WSPAWNVE.C C标准库源代码\WSPAWNVP.C C标准库源代码\WSPLITPA.C C标准库源代码\WSPWNLPE.C C标准库源代码\WSPWNVPE.C C标准库源代码\WSTAT.C C标准库源代码\WSTATI64.C C标准库源代码\WSTDARGV.C C标准库源代码\WSTDENVP.C C标准库源代码\WSTRDATE.C C标准库源代码\WSTRTIME.C C标准库源代码\WSYSTEM.C C标准库源代码\WTEMPNAM.C C标准库源代码\WTMPFILE.C C标准库源代码\WTOMBENV.C C标准库源代码\WTOX.C C标准库源代码\WUNLINK.C C标准库源代码\WUTIME.C C标准库源代码\WWILD.C C标准库源代码\WWINCRT0.C C 标准库源代码\WWNCMDLN.C C标准库源代码\W_CMP.C C标准库源代码\W_ENV.C C标准库源代码\W_LOC.C C标准库源代码\W_MAP.C C标准库源代码\W_STR.C C标准库源代码\XCEPTION C 标准库源代码\XCOMPLEX C标准库源代码\XCOSH.C C标准库源代码\XDNORM.C C标准库源代码\XDSCALE.C C标准库源代码\XDTEST.C C标准库源代码\XEXP.C C标准库源代码\XFCOSH.C C 标准库源代码\XFDNORM.C C标准库源代码\XFDSCALE.C C标准库源代码\XFDTEST.C C标准库源代码\XFEXP.C C标准库源代码\XFSINH.C C标准库源代码\XFVALUES.C C标准库源代码\XIOSBASE C 标准库源代码\XLCOSH.C C标准库源代码\XLDNORM.C C标准库源代码\XLDSCALE.C C标准库源代码\XLDTEST.C C标准库源代码\XLEXP.C C标准库源代码\XLOCALE C标准库源代码\XLOCALE.CPP C 标准库源代码\XLOCINFO C标准库源代码\XLOCINFO.H C标准库源代码\XLOCK.CPP C标准库源代码\XLOCMON C标准库源代码\XLOCNUM C标准库源代码\XLOCTIME C标准库源代码\XLPOLY.C C 标准库源代码\XLSINH.C C标准库源代码\XLVALUES.C C标准库源代码\XMATH.H C标准库源代码\XMBTOWC.C C标准库源代码\XMEMORY C标准库源代码\XNCOMMOD.C C标准库源代码\XPOLY.C C 标准库源代码\XSINH.C C标准库源代码\XSTDDEF C标准库源代码\XSTOD.C C标准库源代码\XSTRCOLL.C C标准库源代码\XSTRING C标准库源代码\XSTRXFRM.C C标准库源代码\XTOA.C C 标准库源代码\XTOW.C C标准库源代码\XTREE C标准库源代码\XTXTMODE.C C标准库源代码\XUTILITY C 标准库源代码\XVALUES.C C标准库源代码\XWCSCOLL.C C标准库源代码\XWCSXFRM.C C标准库源代码\XWCTOMB.C C标准库源代码\YMATH.H C标准库源代码\YVALS.H C标准库源代码\_CTYPE.C C 标准库源代码\_FILBUF.C C标准库源代码\_FILE.C C标准库源代码\_FILWBUF.C C标准库源代码\_FLSBUF.C C标准库源代码\_FLSWBUF.C C标准库源代码\_FPTOSTR.C C标准库源代码\_FREEBUF.C C标准库源代码\_GETBUF.C C标准库源代码\_IOS.CPP C标准库源代码\_IOSTREA.CPP C标准库源代码\_MBSLEN.C C标准库源代码\_NEWMODE.C C标准库源代码\_OPEN.C C标准库源代码\_SAMPLE_.RC C标准库源代码\_SETARGV.C C标准库源代码\_SFTBUF.C C标准库源代码\_STRERR.C C标准库源代码\_STRSTRE.CPP C标准库源代码\_TOLOWER.C C标准库源代码\_TOUPPER.C C标准库源代码\_WCTYPE.C C标准库源代码\_WOPEN.C C标准库源代码\_WSTARGV.C C标准库源代码\SYS\LOCKING.H C标准库源代码\SYS \STAT.H C标准库源代码\SYS\TIMEB.H C标准库源代码\SYS\TYPES.H C标准库源代码\SYS \UTIME.H C标准库源代码\SYS C标准库源代码\PLATFORM\CHKSTK.ASM C标准库源代码\PLATFORM\DLLSUPP.ASM C标准库源代码\PLATFORM\ENABLE.ASM C标准库源代码\PLATFORM\FP8.C C标准库源代码\PLATFORM\INP.ASM C标准库源代码\PLATFORM \LLDIV.ASM C标准库源代码\PLATFORM\LLMUL.ASM C标准库源代码\PLATFORM\LLREM.ASM C 标准库源代码\PLATFORM\LLSHL.ASM C标准库源代码\PLATFORM\LLSHR.ASM C标准库源代码\PLATFORM\MBSCAT.ASM C标准库源代码\PLATFORM\MEMCCPY.ASM C标准库源代码\PLATFORM\MEMCHR.ASM C标准库源代码\PLATFORM\MEMCMP.ASM C标准库源代码\PLATFORM \MEMCPY.ASM C标准库源代码\PLATFORM\MEMICMP.ASM C标准库源代码\PLATFORM \MEMMOVE.ASM C标准库源代码\PLATFORM\MEMSET.ASM C标准库源代码\PLATFORM\OUTP.ASM C 标准库源代码\PLATFORM\SDKNAMES.LIB C标准库源代码\PLATFORM\SEHSUPP.C C标准库源代码\PLATFORM\STRCAT.ASM C标准库源代码\PLATFORM\STRCHR.ASM C标准库源代码\PLATFORM \STRCMP.ASM C标准库源代码\PLATFORM\STRCSPN.ASM C标准库源代码\PLATFORM \STRICMP.ASM C标准库源代码\PLATFORM\STRLEN.ASM C标准库源代码\PLATFORM \STRNCAT.ASM C标准库源代码\PLATFORM\STRNCMP.ASM C标准库源代码\PLATFORM \STRNCPY.ASM C标准库源代码\PLATFORM\STRNICMP.ASM C标准库源代码\PLATFORM \STRNSET.ASM C标准库源代码\PLATFORM\STRPBRK.ASM C标准库源代码\PLATFORM \STRRCHR.ASM C标准库源代码\PLATFORM\STRREV.ASM C标准库源代码\PLATFORM \STRSET.ASM C标准库源代码\PLATFORM\STRSPN.ASM C标准库源代码\PLATFORM \STRSTR.ASM C标准库源代码\PLATFORM\TCMAP.LIB C标准库源代码\PLATFORM \TCMAPDLL.LIB C标准库源代码\PLATFORM\ULLDIV.ASM C标准库源代码\PLATFORM \ULLREM.ASM C标准库源代码\PLATFORM\ULLSHR.ASM C标准库源代码\PLATFORM \_SAMPLD_.DEF C标准库源代码\PLATFORM\_SAMPLE_.DEF C标准库源代码\PLATFORM \XST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\XST_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XST_LIB\CONV.LIB C标准库源代码\PLATFORM\XST_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XST_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XST_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XST_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XST_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XST_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XST_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XST_LIB\INP.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XST_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XST_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XST_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XST_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XST_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XST_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XST_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XST_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XST_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XST_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XST_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XST_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XST_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XST_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XST_LIB\THROW.OBJ C标准库源代码\PLATFORM\XST_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XST_LIB\TRAN.LIB C标准库源代码\PLATFORM\XST_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XST_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XST_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XST_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XST_LIB\USER.OBJ C标准库源代码\PLATFORM\XST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XST_LIB C标准库源代码\PLATFORM\XMT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XMT_LIB\CONV.LIB C 标准库源代码\PLATFORM\XMT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XMT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XMT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XMT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\XMT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\XMT_LIB\INP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\XMT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XMT_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \XMT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\XMT_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\OUTP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\RTTI.OBJ C标准库源代码\PLATFORM\XMT_LIB\SEHSUPP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \SETJMP3.OBJ C标准库源代码\PLATFORM\XMT_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\XMT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRPBRK.OBJ C 标准库源代码\PLATFORM\XMT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\XMT_LIB \STRREV.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSET.OBJ C标准库源代码\PLATFORM \XMT_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\XMT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XMT_LIB\THROW.OBJ C标准库源代码\PLATFORM\XMT_LIB\TLSSUP.OBJ C 标准库源代码\PLATFORM\XMT_LIB\TRAN.LIB C标准库源代码\PLATFORM\XMT_LIB \TRNSCTRL.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPINFO.OBJ C标准库源代码\PLATFORM\XMT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XMT_LIB\ULLDIV.OBJ C 标准库源代码\PLATFORM\XMT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\XMT_LIB \ULLSHR.OBJ C标准库源代码\PLATFORM\XMT_LIB\UNDNAME.OBJ C标准库源代码\PLATFORM \XMT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XMT_LIB\USER.OBJ C标准库源代码\PLATFORM\XMT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\XMT_LIB C标准库源代码\PLATFORM\XDLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\XDLL_LIB \CONV.LIB C标准库源代码\PLATFORM\XDLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\XDLL_LIB \EHVECDTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \FRAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM \XDLL_LIB\INP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \LLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MBSDUP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \MEMCHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\XDLL_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\OLDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB \OUTP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM \XDLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\XDLL_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRCSPN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRDUP.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNCMP.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRNICMP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRRCHR.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM\XDLL_LIB \STRSET.OBJ C标准库源代码\PLATFORM\XDLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM \XDLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\XDLL_LIB\THROW.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\XDLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\XDLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\XDLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\XDLL_LIB\ULLREM.OBJ C 标准库源代码\PLATFORM\XDLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\XDLL_LIB \UNDNAME.OBJ C标准库源代码\PLATFORM\XDLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\XDLL_LIB\USER.OBJ C标准库源代码\PLATFORM\XDLL_LIB\VALIDATE.OBJ C 标准库源代码\PLATFORM\XDLL_LIB C标准库源代码\PLATFORM\ST_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKESP.OBJ C标准库源代码\PLATFORM\ST_LIB\CHKSTK.OBJ C 标准库源代码\PLATFORM\ST_LIB\CONV.LIB C标准库源代码\PLATFORM\ST_LIB\EHPROLOG.OBJ C 标准库源代码\PLATFORM\ST_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\ST_LIB \EHVECCVB.OBJ C标准库源代码\PLATFORM\ST_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\ST_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\ST_LIB\EXSUP3.OBJ C 标准库源代码\PLATFORM\ST_LIB\FRAME.OBJ C标准库源代码\PLATFORM\ST_LIB\HOOKS.OBJ C 标准库源代码\PLATFORM\ST_LIB\INP.OBJ C标准库源代码\PLATFORM\ST_LIB\LLDIV.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLREM.OBJ C 标准库源代码\PLATFORM\ST_LIB\LLSHL.OBJ C标准库源代码\PLATFORM\ST_LIB\LLSHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\LONGJMP.OBJ C标准库源代码\PLATFORM\ST_LIB \LOWHELPR.OBJ C标准库源代码\PLATFORM\ST_LIB\MATHERR.OBJ C标准库源代码\PLATFORM \ST_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCHR.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMCPY.OBJ C 标准库源代码\PLATFORM\ST_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\ST_LIB \MEMMOVE.OBJ C标准库源代码\PLATFORM\ST_LIB\MEMSET.OBJ C标准库源代码\PLATFORM \ST_LIB\OUTP.OBJ C标准库源代码\PLATFORM\ST_LIB\RTTI.OBJ C标准库源代码\PLATFORM \ST_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\ST_LIB\SETJMPEX.OBJ C 标准库源代码\PLATFORM\ST_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\ST_LIB \STRCAT.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCHR.OBJ C标准库源代码\PLATFORM \ST_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\ST_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\ST_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\ST_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \ST_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\ST_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\ST_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSET.OBJ C标准库源代码\PLATFORM\ST_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\ST_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\ST_LIB\THROW.OBJ C 标准库源代码\PLATFORM\ST_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\ST_LIB\TRAN.LIB C 标准库源代码\PLATFORM\ST_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\ST_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\ST_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \ST_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\ST_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\ST_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\ST_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\ST_LIB\USER.OBJ C 标准库源代码\PLATFORM\ST_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\ST_LIB C标准库源代码\PLATFORM\MT_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\MT_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\MT_LIB\CONV.LIB C 标准库源代码\PLATFORM\MT_LIB\EHPROLOG.OBJ C标准库源代码\PLATFORM\MT_LIB \EHVECCTR.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\MT_LIB\EHVECDTR.OBJ C标准库源代码\PLATFORM\MT_LIB\ENABLE.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\EXSUP2.OBJ C 标准库源代码\PLATFORM\MT_LIB\EXSUP3.OBJ C标准库源代码\PLATFORM\MT_LIB\FRAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\MT_LIB\INP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\LLMUL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\MT_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\LONGJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\MT_LIB \MATHERR.OBJ C标准库源代码\PLATFORM\MT_LIB\MBSCAT.OBJ C标准库源代码\PLATFORM \MT_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\MEMMOVE.OBJ C标准库源代码\PLATFORM\MT_LIB\MEMSET.OBJ C 标准库源代码\PLATFORM\MT_LIB\OUTP.OBJ C标准库源代码\PLATFORM\MT_LIB\RTTI.OBJ C 标准库源代码\PLATFORM\MT_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\MT_LIB\SETJMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\SETJMP3.OBJ C标准库源代码\PLATFORM\MT_LIB \SETJMPEX.OBJ C标准库源代码\PLATFORM\MT_LIB\STDEXCPT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCAT.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRCSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRDUP.OBJ C标准库源代码\PLATFORM\MT_LIB\STRICMP.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRLEN.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNCAT.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\MT_LIB \STRNCPY.OBJ C标准库源代码\PLATFORM\MT_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM \MT_LIB\STRNSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\MT_LIB\STRRCHR.OBJ C标准库源代码\PLATFORM\MT_LIB\STRREV.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSET.OBJ C标准库源代码\PLATFORM\MT_LIB\STRSPN.OBJ C 标准库源代码\PLATFORM\MT_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\MT_LIB\THROW.OBJ C 标准库源代码\PLATFORM\MT_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\MT_LIB\TRAN.LIB C 标准库源代码\PLATFORM\MT_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\MT_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\MT_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \MT_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\MT_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\MT_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\MT_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\MT_LIB\USER.OBJ C 标准库源代码\PLATFORM\MT_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM\MT_LIB C标准库源代码\PLATFORM\DLL_LIB\ATLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\CHKESP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\CHKSTK.OBJ C标准库源代码\PLATFORM\DLL_LIB\CONV.LIB C 标准库源代码\PLATFORM\DLL_LIB\DLLSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB \EHPROLOG.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECCVB.OBJ C标准库源代码\PLATFORM\DLL_LIB\EHVECDTR.OBJ C 标准库源代码\PLATFORM\DLL_LIB\ENABLE.OBJ C标准库源代码\PLATFORM\DLL_LIB\EXSUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\EXSUP2.OBJ C标准库源代码\PLATFORM\DLL_LIB \EXSUP3.OBJ C标准库源代码\PLATFORM\DLL_LIB\FRAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\HOOKS.OBJ C标准库源代码\PLATFORM\DLL_LIB\INP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLMUL.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\LLSHL.OBJ C 标准库源代码\PLATFORM\DLL_LIB\LLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB \LONGJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\LOWHELPR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MATHERR.OBJ C标准库源代码\PLATFORM\DLL_LIB\MBSCAT.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MBSDUP.OBJ C标准库源代码\PLATFORM\DLL_LIB \MEMCCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCHR.OBJ C标准库源代码\PLATFORM \DLL_LIB\MEMCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\MEMMOVE.OBJ C 标准库源代码\PLATFORM\DLL_LIB\MEMSET.OBJ C标准库源代码\PLATFORM\DLL_LIB \OLDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\OUTP.OBJ C标准库源代码\PLATFORM \DLL_LIB\RTTI.OBJ C标准库源代码\PLATFORM\DLL_LIB\SEHSUPP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\SETJMP3.OBJ C 标准库源代码\PLATFORM\DLL_LIB\SETJMPEX.OBJ C标准库源代码\PLATFORM\DLL_LIB \STDEXCPT.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRCSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRDUP.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRLEN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCAT.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRNCMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNCPY.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNICMP.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRNSET.OBJ C 标准库源代码\PLATFORM\DLL_LIB\STRPBRK.OBJ C标准库源代码\PLATFORM\DLL_LIB \STRRCHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRREV.OBJ C标准库源代码\PLATFORM \DLL_LIB\STRSET.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSPN.OBJ C标准库源代码\PLATFORM\DLL_LIB\STRSTR.OBJ C标准库源代码\PLATFORM\DLL_LIB\THROW.OBJ C 标准库源代码\PLATFORM\DLL_LIB\TLSSUP.OBJ C标准库源代码\PLATFORM\DLL_LIB\TRAN.LIB C 标准库源代码\PLATFORM\DLL_LIB\TRNSCTRL.OBJ C标准库源代码\PLATFORM\DLL_LIB \TYPINFO.OBJ C标准库源代码\PLATFORM\DLL_LIB\TYPNAME.OBJ C标准库源代码\PLATFORM \DLL_LIB\ULLDIV.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLREM.OBJ C标准库源代码\PLATFORM\DLL_LIB\ULLSHR.OBJ C标准库源代码\PLATFORM\DLL_LIB\UNDNAME.OBJ C 标准库源代码\PLATFORM\DLL_LIB\UNHANDLD.OBJ C标准库源代码\PLATFORM\DLL_LIB \USER.OBJ C标准库源代码\PLATFORM\DLL_LIB\VALIDATE.OBJ C标准库源代码\PLATFORM \DLL_LIB C标准库源代码\PLATFORM C标准库源代码
### 回答1: 要在VS2019中调试C++标准库源码,可以按照以下步骤进行操作: 1. 在VS2019中创建一个新的项目。选择空项目模板,并指定项目的名称和位置。 2. 打开项目的属性页面。在“C/C++”选项下的“常规”选项卡中,将“预处理器定义”这一属性更改为 `_ITERATOR_DEBUG_LEVEL=0`。这将禁用迭代器调试级别,以便我们能够进行标准库源码的调试。 3. 在项目中添加需要调试的标准库源码文件。可以通过将标准库源码文件拷贝到项目目录下,或者使用VS2019的“添加现有项”功能将文件添加到项目中。 4. 在需要调试的源码文件中,添加适当的断点。可以在所需的行上单击左侧空白区域,或者使用F9键添加断点。 5. 配置调试器。在菜单栏上选择“调试” -> “调试的属性” -> “调试引擎”。在弹出的对话框中,选择“原生”作为调试引擎。 6. 构建并运行项目。可以使用F5键或者在菜单栏上选择“调试” -> “开始调试”来启动调试会话。 7. 当程序执行到断点处时,调试器将暂停执行,并显示相关的源码和调试信息。 8. 可以使用调试器提供的功能来单步执行、检查变量的值和调用栈等信息,以便更好地理解和调试标准库源码。 需要注意的是,由于标准库源码通常较大且复杂,调试时可能会遇到一些挑战。因此,在调试过程中,建议着重关注与自己代码相关的部分,并使用调试器来逐步追踪和理解。 ### 回答2: 要调试C++标准库源码,可以使用Visual Studio 2019提供的调试工具。以下是一些步骤: 1. 首先,需要确保已经安装了Visual Studio 2019,并创建了一个C++项目。 2. 下载并解压C++标准库源码。可以从C++标准库的官方网站或其他来源获取。 3. 将源码中的头文件和源文件添加到项目中。可以通过右键点击项目,选择"添加"->"现有项"来添加文件。 4. 在需要调试的代码中设置断点。可以在代码行的左侧单击添加断点,或者使用快捷键F9。 5. 启动调试。可以在菜单栏中选择"调试"->"开始调试",或使用快捷键F5。 6. 操作程序以触发断点。可以运行程序,直到断点处停止。 7. 在调试过程中,可以使用Visual Studio 2019的调试工具进行查看变量值、单步执行、查看调用栈等操作。 8. 可以在代码中的适当位置设置多个断点,以便更详细地调试。 9. 需要注意的是,C++标准库源码通常比较庞大复杂,调试过程可能会比较耗时。在调试期间,可以使用调试窗口来查看变量的值和程序状态,这有助于找出问题所在。 总之,使用Visual Studio 2019调试C++标准库源码需要将源码添加到项目中,并设置断点进行调试。调试过程中可以使用Visual Studio 2019提供的调试工具来检查变量值和程序状态。 ### 回答3: 要在VS2019中调试C++标准库源码,可以按照以下步骤进行: 1. 下载C++标准库源码:可以从官方网站或开源社区获取C++标准库源码的压缩包,解压到本地。 2. 打开VS2019:启动Visual Studio 2019。 3. 创建新的空项目:选择“文件”->“新建”->“项目”,在弹出的对话框中选择“Visual C++”->“空项目”,并为项目命名。 4. 配置项目属性:在“解决方案管理器”中右键点击项目名称,选择“属性”,打开项目属性窗口。在“配置属性”下选择“常规”,确保项目配置类型是“应用程序”,平台工具集选择与其编译的标准库版本匹配的平台工具集。 5. 添加源码文件:在“解决方案管理器”中右键点击项目名称,选择“添加”->“现有项”,选中你下载好的C++标准库源码文件,点击“添加”。 6. 配置调试设置:在主菜单栏中选择“调试”->“选项”->“调试”->“符号文件”,勾选“Microsoft符号服务器”并勾选“加载本地符号文件”选项。 7. 设置断点:在C++标准库源码中选择需要调试的函数或行,在左侧的边栏中单击设置断点。 8. 开始调试:在主菜单栏中选择“调试”->“开始调试”或按下F5键,程序将开始运行和调试。 9. 分析调试结果:在程序执行过程中,运行时会停在设置的断点处。可以使用VS的调试工具,如自动变量窗口、监视窗口等,来检查变量的值、程序的执行流程等,以便分析调试结果。 通过以上步骤,你就可以在VS2019中成功调试C++标准库源码了。请注意,C++标准库源码通常很大且复杂,因此在调试过程中可能需要花费一些时间来理解源码的结构和工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值