C++ 在C++;,是否有一个相当于;资料来源;在R?

C++ 在C++;,是否有一个相当于;资料来源;在R?,c++,r,C++,R,在R编程语言中,我一直在使用source()加载保存的脚本。在C++中有类似的方法吗?(调用C++代码行)。< P> R是A,而C++是A。这意味着源代码将不会以交互方式运行。从IDE动态加载和运行源代码是不可能的,除非在调试期间(“编辑并继续”) 但是,最近有一些项目试图在C++的顶部添加一个交互层,例如。在其他编译语言中,如D编程语言(C++的近亲),源代码可以来自命令行不在标准C++中。最接近的等价物是在运行时加载DLL/.so(库)。理论上,即使在程序启动后,也可以独立编译此库。但是库必

在R编程语言中,我一直在使用
source()
加载保存的脚本。在C++中有类似的方法吗?(调用C++代码行)。

< P> R是A,而C++是A。这意味着源代码将不会以交互方式运行。从IDE动态加载和运行源代码是不可能的,除非在调试期间(“编辑并继续”)

但是,最近有一些项目试图在C++的顶部添加一个交互层,例如。在其他编译语言中,如D编程语言(C++的近亲),源代码可以来自命令行


但是,最近有一些项目试图在C++的顶部添加一个交互层,例如。在其他编译语言中,如D编程语言(C++的近亲),源代码可以来自命令行 将源代码分离为不同的文件有两个好处。首先,可以对代码进行安排,使每个文件包含整个文件的逻辑子集,从而使程序员的生活更轻松。其次,编译器可以单独处理每个源文件,从而提高空间效率(编译器可以处理的代码总数超过单个文件内存中的代码数量)和时间效率(编译器可以有选择地重新编译单个已更改的源文件,而不是整个程序)


可以通过将所有源文件包含在一个大的源文件中(使用
#include
)来组合源文件。如果你这样做,你至少损失了上面的第二个好处。

< P> C++和其他编译语言,每个源文件被编译成中间形式。链接器将这些中间产物组合成最终的可执行文件(或库)。来自一个文件的代码通过首先调用“头”文件(声明方法和/或类)中定义的接口在另一个文件中“使用”代码,然后将编译代码块(“对象文件”)链接在一起

将源代码分离为不同的文件有两个好处。首先,可以对代码进行安排,使每个文件包含整个文件的逻辑子集,从而使程序员的生活更轻松。其次,编译器可以单独处理每个源文件,从而提高空间效率(编译器可以处理的代码总数超过单个文件内存中的代码数量)和时间效率(编译器可以有选择地重新编译单个已更改的源文件,而不是整个程序)


可以通过将所有源文件包含在一个大的源文件中(使用
#include
)来组合源文件。如果你这样做,你至少损失了上面的第二个好处。

< P>不在标准C++中。最接近的等价物是在运行时加载DLL/.so(库)。理论上,即使在程序启动后,也可以独立编译此库。但是库必须在编译之前编译,并且必须由编译主可执行文件的相同编译器完成。

< P>不在标准C++中。最接近的等价物是在运行时加载DLL/.so(库)。理论上,即使在程序启动后,也可以独立编译此库。但是,必须先编译库,然后才能加载,这必须由用于编译主可执行文件的同一个编译器来完成。

您的意思是
#include
??这与源代码的工作方式相同吗?i、 你能把它放在脚本的中间,然后从那里开始吗?@user2432701:yep#include是将#include中指定的文件直接放置到当前文件中指定的位置。请不要这样做。编译后的C++源文件链接在一起,而不是<>代码>包含< /代码> d到一个大文件中。如果您
#包含
实现文件,当您了解更多内容并回到代码中时,您将导致混淆<代码>#include
仅用于标题。(直到您开始编写模板化代码。)而且您甚至不应该在R中使用
source()
。组织代码的正确方法是在包中。您是说
#include
?这与源代码的工作方式相同吗?i、 你能把它放在脚本的中间,然后从那里开始吗?@user2432701:yep#include是将#include中指定的文件直接放置到当前文件中指定的位置。请不要这样做。编译后的C++源文件链接在一起,而不是<>代码>包含< /代码> d到一个大文件中。如果您
#包含
实现文件,当您了解更多内容并回到代码中时,您将导致混淆<代码>#include
仅用于标题。(直到您开始编写模板化代码。)而且您甚至不应该在R中执行
source()
。组织代码的正确方法是在包中。