如何在C 中导入所有#include
How to import all #include in c++?
我正在制作一个C 程序,我试图用#include
导入所有程序。但是我尝试的东西没有起作用。我想我可能会与Python的from {module} import *
功能有些混淆。
这是我的代码:
#include <*>
using namespace std;
int main()
{
cout << Hello! << endl;
return 0
}
那么,我打开了CMD并输入:
c++ test.cpp -o test.exe
这是我遇到的错误...
Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.
C:Usersthoma>cd Desktop
C:UsersthomaDesktop>c++ test.cpp -o test.exe
test.cpp:1:13: fatal error: c:mingwlibgccmingw326.3.0includec++*: Invalid argument
#include <*>
^
compilation terminated.
C:UsersthomaDesktop>
我的编译器是mingw。任何帮助或答案都将不胜感激。
#include <*>
不是C ,也没有可比较的功能。您必须明确指定所需的每个标头。这是一个好的东西。习惯了。
您还应该摆脱using namespace std;
。
-
c 不是python。
您是说Python的
from module import *
吗?因为这与您建议的C 版本不同(如果存在,不存在(,无论如何 -
标题文件不是模块。
C 实际上没有模块。您可以组织您的目录结构并将系统构建到逻辑模块中,但是您必须自己做。
包括指令本身是一个文本操作:它只是将命名文件的内容粘贴到指令代替指令。没有模块范围,只是... 那里。
-
如果您建议的语法确实有效(同样,它不行( - 它将包含 all 文件。不是全部.h文件,而只是...一切。C 没有必需的文件名扩展名(我已经看到.h,.hpp,.hxx,.cpp,.cxx和.c以及几个稀有版本(,因此通配符上没有隐含的过滤器。
是的,您在这里感到困惑。使用 #include ,您确实包括一个文件。这意味着,编译器将文件内容拿走,然后放置您的##include-statement 的位置。代码中的每个包含都会扩展您的文件。这意味着编译器有更多的工作。如果您包含所有文件,则您的编译器要提供的内容,那将是很多。C Include-System是Pythons模块系统以外的其他东西。因此,您必须包括您真正想要的那些文件。您可以做的是,您可以将标头文件放置在其中,其中包含这些内容经常需要,然后只包含此标头文件。然后,您的编译器将包括您在其中包含的文件。示例:
// includes.hpp
#pragma once
#include <iostream>
#include <string>
#include <vector>
// ...
这就是您可以使用的方式:
// main.cpp
#include "includes.hpp"
int main(int argc, char **argv) {
std::string some_text = "Hello there";
std::cout << some_text << std::endl;
return 0;
}
也请注意,请勿在标头文件中使用名称空间。包括此标头的每个标头还将使用命名空间语句获得此标题。这可能会在将来带来问题。我都不在代码文件中使用它。您可以使用名称空间的特定部分使用。但这是另一个话题。也许只是使用名称空间问题的Google 。
在这里说什么很重要。即使您保存了一些工作,包括标头。注意它们。就像我说的那样,包括真正的副本文字,因此您的编译器具有更多的托法。因此,您的汇编时间增加了。在某些情况下,这是一个很好的解决方案,但是大多数时候最好包括您真正需要的零件。在许多情况下,您甚至不需要包含标题,但是您会使用前瞻性声明。只需尝试记住将来。
- 尝试导入pybind-opencv模块时出现libgtk错误
- 既然存在危险,为什么项目要使用-I include开关
- 导入库可以跨dll版本工作吗
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- 建议在运行时将带有类实例的列表从c++导入qml
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 导入/导出变量时出错
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- C++包含来自 #include "DevEngine/Core.h" 的错误
- 将QT项目导入Visual Studio 2019会给我带来很多LNK2001错误
- <filesystem> 在 clang 6 和 10 上 #include 错误
- 是否可以将函数导入命名空间,但不能导出它?
- 在 void 函数中使用 #include 变量C++
- 如何将 CLion C++ 项目导入 Visual Studio?
- Python 3.8 不能与 Pybind11 一起导入 [Windows]
- C++ #include<XXX.h>相当于 Python 导入的 XXX 作为 X
- 如何在C 中导入所有#include
- 创建一个可以导入的C库,命名为“#include
"”