在C++中,R中是否有等效的"source"?
In C++, is there an equivalent of "source" in R?
在R编程语言中,我一直使用source()
来加载保存的脚本。在c++中是否有类似的方法?(用于调用c++代码行)。
R是一种解释语言,而c++是一种编译语言。这意味着源代码将不会以交互方式运行。从IDE动态加载和运行源代码是不可能的,除非在调试期间("编辑并继续")。
然而,最近有一些项目试图在c++的基础上添加一个交互层,例如:Cling和the Projucer。在其他编译语言中,例如D编程语言(c++的近亲),源代码可以直接从命令行运行。
在c++和其他编译语言中,每个源文件都被编译成一个中间形式。一个链接器将这些中间程序组合到最终的可执行文件(或库)中。一个文件中的代码"使用"另一个文件中的代码,首先调用头文件(声明方法和/或类)中定义的接口,然后将编译后的代码块("目标文件")链接在一起。
将源代码分成不同的文件有两个好处。首先,可以安排代码,使每个文件包含整体的逻辑子集,使程序员的工作更轻松。其次,每个源文件可以由编译器单独处理,从而提高了空间(编译器可以处理比单个文件内存中容纳的代码更多的代码)和时间(编译器可以选择性地重新编译单个更改过的源文件,而不是整个程序)的效率。
可以通过包含(使用#include
)所有源文件到一个大源文件中来组合源文件。如果您这样做,您至少会失去上述第二个好处。
标准c++中没有。最接近的等价是加载DLL/。运行时(library)。从理论上讲,即使在程序启动之后,这个库也可以独立编译。但是,库必须在加载之前进行编译,并且必须由用于编译主可执行文件的同一编译器完成。
相关文章:
- Android Studio-在现有的旧项目中启用本机C++调试(card.io Android Source)
- VS 2017 C++ - "cannot open source file 'sqlite3.h' "
- C++ / CMake :为许多'source plugins'制作插件系统
- Qt中的QFile::copy(source,dest)的实现有时是错误的吗?
- ECLIPSE makefile for C++ projects -- source directory
- 如何在Visual Studio中查看static_assert 'failure source'?
- 进口。TLB文件给出"cannot open source file x.tlh"
- VC++ 编译器 /source-charset:utf-8 不起作用
- 如何在 c++ 中正确读取 GRC 块"Random Source"的字节输出数据到自己的 OOT 块中?
- remy source code(github) 编译错误在 protobuf 类
- 为什么在与静态库链接时强制执行 order(例如 source.cxx -lstatic)
- "cannot open source file bits/stdc++.h"在Visual Studio中
- Qt5 嘈杂的调试消息"XI2 mouse release ... source MouseEventNotSynthesized"
- 将 boost::iostream::stream<boost::iostreams::source> 转换为 std::istream
- 与"source shellscript.sh"合作
- 已安装 SDK 的头文件的"Cannot open source file"
- "universal-character-name encountered in source"警告的目的是什么?
- C++ 代码使用 .cpp Source 编译,但不能使用 .c 进行编译
- c++ STL cout source code
- 如何修复此错误:#include < gl/glut.h> "Cannot open source file gl/glut.h"