Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
静态链接vs包括 如果在C++中生成了2个TXT代码文件,一个主文件和另一个文件用于某个函数的一些代码。 “静态链接”和“包含”第二个文件之间有什么区别? 什么对内存最好?欢迎来到堆栈溢出。请尽快阅读这一页。我通常建议用C++标签来标记你的问题,但是也许这_C++_Static_Linker_Include - Fatal编程技术网

静态链接vs包括 如果在C++中生成了2个TXT代码文件,一个主文件和另一个文件用于某个函数的一些代码。 “静态链接”和“包含”第二个文件之间有什么区别? 什么对内存最好?欢迎来到堆栈溢出。请尽快阅读这一页。我通常建议用C++标签来标记你的问题,但是也许这

静态链接vs包括 如果在C++中生成了2个TXT代码文件,一个主文件和另一个文件用于某个函数的一些代码。 “静态链接”和“包含”第二个文件之间有什么区别? 什么对内存最好?欢迎来到堆栈溢出。请尽快阅读这一页。我通常建议用C++标签来标记你的问题,但是也许这,c++,static,linker,include,C++,Static,Linker,Include,静态链接vs包括 如果在C++中生成了2个TXT代码文件,一个主文件和另一个文件用于某个函数的一些代码。 “静态链接”和“包含”第二个文件之间有什么区别? 什么对内存最好?欢迎来到堆栈溢出。请尽快阅读这一页。我通常建议用C++标签来标记你的问题,但是也许这次你也没有做过,你需要在被延迟之前稍微改进一下你的问题。我猜您有main.cpp包含类似extern int other()的内容;int main(){return other();}和sub.cpp包含extern int other();

静态链接vs包括

如果在C++中生成了2个TXT代码文件,一个主文件和另一个文件用于某个函数的一些代码。 “静态链接”和“包含”第二个文件之间有什么区别?


什么对内存最好?

欢迎来到堆栈溢出。请尽快阅读这一页。我通常建议用C++标签来标记你的问题,但是也许这次你也没有做过,你需要在被延迟之前稍微改进一下你的问题。我猜您有
main.cpp
包含类似
extern int other()的内容;int main(){return other();}
sub.cpp
包含
extern int other();int other(){return 1;}
,您正在讨论是将它们编译为两个单独的文件并将它们链接到一个程序中,还是将
#include“sub.cpp”
添加到
main.cpp
中,这样您只编译一个文件。对于假设的示例,这真的没有多大区别。如果整个程序都在一个文件中(积极内联),编译器可能会将整个程序优化为
int main(){return 1;}
。通常,您将分别编译多个源文件,生成的目标文件将被链接以创建程序。习惯这一点;这是标准的。它还允许适当的职责分离。不同的文件不需要知道其他文件所知道的一切。请注意,我的简单示例应该有一个头
header.h
包含
extern int other()
,并且该标头应同时包含在
main.cpp
sub.cpp
中(并且应删除
.cpp
文件中的
extern
声明)。这有助于确保文件之间的一致性。这也是大型项目的典型特征;这就是为什么你也拥有C++标准头。“静态链接”一词适用于图书馆如何链接到程序中。通过静态链接,库的相关部分被复制到可执行文件中,而不是在运行时作为共享库或DLL加载。无论对代码的一个对象文件还是两个对象文件版本使用静态链接,都与一个或两个对象文件的问题无关(相切)。