c++ - 如何将一个 cpp 包含在另一个 cpp 中,例如复制粘贴而不是声明方式?

标签 c++ file include paradigms

我最近采用了一种风格,我试图避免不必要的类/作用域,因此代码不能按类或函数在文件中拆分,因为几乎所有事情都发生在 main 中。当然,对于很多行代码,这将很难阅读,所以我必须以某种方式拆分它。我想做这样的事情:

#include <iostream>
int main()
{
    #include "test.cpp"
    return 0;
}

// test.cpp
std::cout << "Test";

有没有办法告诉编译器完全像那样复制它?如果可以,我还可以使用 IntelliSense (VS 2017) 吗?

最佳答案

无论设计是好是坏,您都可以检查“最终”输出文件的样子。如果您使用的是 GCC,则可以使用 -E 标志,例如

g++ -E main.cpp > out

此命令执行预处理器并将输出写入out 文件。 在这个例子中,我的 out 文件看起来像

// bunch of STL codes due to <iostream>
// ...

# 2 "main.cpp"
int main()
{
# 1 "test.cpp" 1
std::cout << "Test";
# 5 "main.cpp" 2
  return 0;
}

关于c++ - 如何将一个 cpp 包含在另一个 cpp 中,例如复制粘贴而不是声明方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55560212/

相关文章:

c++ - 如何将 ASN1_TIME 转换为 std::string

c# - VS 2005 工具箱类控件.NET

c++ - 在 Windows 上使用 native C++ 在具有多个网络适配器的机器上进行 UDP 广播

java - 如何将字节数组作为字节写入文件

c# - 新位图锁定的免费文件(文件路径)

include - 获取编译器:Error-Row when the compile error occurs in an include file

c++ - 如何在不覆盖 CXX 变量的情况下强制 gcc 找到自己的 c++ 头文件?

c++ - 优化复合 std::functions

windows - Windows 中如何生成短文件名?

c - 用于纯数据外部创建的 Eclipse 设置