【发布时间】:2011-07-08 05:06:01
【问题描述】:
C 和 C++ 本身实际上无法做任何事情,它们需要库才能工作。那么这些库是如何创建的呢?汇编语言?
【问题讨论】:
-
我认为您必须确定您要询问的编译器和版本。许多编译器可以自己编译,即使这样,源代码也可能是多种语言的混合。
-
C and C++ as themselves can't actually do anything。 @其他人,请不要那么认真! -
“C 和 C++ 本身实际上无能为力,”呸!以下是一些库函数,用纯 C 编写,没有标准库:
char *strchr(const char *c, int i) { while(*c != (char)i)) c++; return (char *)c; }size_t strlen(const char *c) { return (size_t)(strchr(c, 0) - c); } -
@Chris:您的
strchr有错误。如果从未找到该字符,它将在字符串的末尾循环... -
@R.. - 我没说他们是正确的... ;)
char *strchr(const char *c, int i) { for(; *c; c++) if(*c == (char)i) return c; return NULL; }
标签: c++ c assembly standard-library