c和c++的库函数是开源的吗?
--------------------------------------
我们使用库函数,就要包含各种头文件,但是头文件中只有函数的原型,可是函数的具体实现在哪里呢?
可以通过头文件找到具体实现吗?
还是,库函数是开源的吗?还是只提供编译好的二进制文件呀?
应该不开源的,不排除有开源的
vc6中的crt库的部分实现需要从安装盘上安装。
vc9中crt库的实现文件默认会安装,并提供pdb文件,也就是说你调试的时候可以F11直接跟进去的,并且可以清晰地看到调用栈等信息。
基本上都不是开源的。都是各个厂商根据自己对标准的理解实现的。
一般是提供编译好的二进制文件
每套编译器应该都会有一套自己的实现代码,但是可以选择公开或者不公开。
倘若这个编译器连crt库都不提供的话,那你恐怕要考虑换个编译器了。
一般的编译器没提供实现码;不过据我所知,P.J.Plauger所著的《The Standard C Library》(中文名为《C标准库》)一书中有C标准库的实现代码。
大多开源,gcc不用说了,VC也提供了CRT的源码
了解
以前的tc、waltcom c倒是不开源,现在都放开了,关键是这东西没什么藏着掖着的必要,公开以后还可以有个“源码级”调试标准库的卖点,你看连.net的类库现在都公开了,mfc也是老早的事情了
VC基本上都不是开源的。
楼上的无论是星星还是三角,回答都让我无语……
且不说你们忽略glibc的存在,VC的CRT开源那是早在VC6时期就做过的……
相关问答:
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......
最近突然想自己来实现一个五子棋程序,但不知道怎么开始,自己也没学画图形函数,能在控制台下直接写吗>>>?????
控制台?比图形界面更麻烦。
http://search.download.csdn.net/search/%E4%BA%94%E5%AD%90% ......
问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位C ......
#include "stdio.h"
int main()
{
char *ch(char *, char *);
char str1[]="I am glad to meet you!";
char str2[]="Welcom to study C!";
&nb ......