Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
做C++;和C使用相同的链接器? 标题要求,C++和C在链接过程中使用同一类型的链接器吗?此外,对于C++编译器和C编译器,C++编译器是否建立在C编译器上?_C++_C_Linker - Fatal编程技术网

做C++;和C使用相同的链接器? 标题要求,C++和C在链接过程中使用同一类型的链接器吗?此外,对于C++编译器和C编译器,C++编译器是否建立在C编译器上?

做C++;和C使用相同的链接器? 标题要求,C++和C在链接过程中使用同一类型的链接器吗?此外,对于C++编译器和C编译器,C++编译器是否建立在C编译器上?,c++,c,linker,C++,C,Linker,两种实现都使用相同的链接器。但是,C++必须对链接的事物的名称和类型进行编码,以支持函数重载,从而不能与错误的函数链接。所以,如果你有两个C++函数,比如: void func( int ); void func( int, double); < C++ >编译器将为这些函数生成名称,如“代码>函数”/和确切地说,生成的名称是编译器特有的,而不是由C++标准指定的。由于C不支持重载,所以C中不需要这样的机制,但是如果您想将C++代码与C链接,那么就需要关闭这个所谓的名称限制。链接是一个完全

两种实现都使用相同的链接器。但是,C++必须对链接的事物的名称和类型进行编码,以支持函数重载,从而不能与错误的函数链接。所以,如果你有两个C++函数,比如:

 void func( int );
 void func( int, double);

< C++ >编译器将为这些函数生成名称,如“代码>函数”/<代码>和确切地说,生成的名称是编译器特有的,而不是由C++标准指定的。由于C不支持重载,所以C中不需要这样的机制,但是如果您想将C++代码与C链接,那么就需要关闭这个所谓的名称限制。链接是一个完全不同的过程,它发生在编译完成之后。如果C++编译器是在C编译器之上构建的,或者从头编译的话,这取决于我们所说的编译器。它们中的许多都是封闭源代码,所以我们没有一个直接的了解方法。此外,这不是一个C++或C问题。至于GNU编译器套件:是的,GCC和G+使用相同的链接器:ld@VadaPoch为什么这不是一个C++或C问题?它不是关于代码,也不是关于编译,但是如果没有链接大多数代码,大多数编译都是无用的。我想这些标签在这里是完全相关的,我猜你指的是“种类”而不是“种类”,它有同情的意思。然而,我不敢编辑,因为我不能决定完全删除它或纠正它“类”,因为这是非常不同的问题,不仅C和C++使用相同的链接器,但(至少与微软品牌),相同的链接器用于FORTRAN,COBOL,以及大多数其他编译语言微软生产。