如何将web服务器上公共目录中的C++文件直接包含到IDE中
How to Include a C++ file from a public directory on a web server directly to the IDE?
概述:在web编程中,外部代码文件不必在同一目录中,甚至不必在相同的计算机中。例如,我可以使用:
<script src="file.js"></script>
以包含来自同一目录的file.js。或
<script src="https://www.domain.com/file.js"></script>
以包含来自web服务器的file.js。
目前,我正在GitHub上编写一个C++库(它只是一组轻量级C++文件(,我希望每个人都可以直接使用它,即使不需要手动保存;我希望预编译器管理临时下载。不幸的是,以下代码不起作用:
#include "https://www.domain.com/file.h"
注意:问题是一个">如何?"而不是"是否可能?>",如果你认为这是不可能实现的,我认为你无法证明你的答案;所以,请不要回答。否则,所有解决方案都会受到赞赏
让我们抛开这是否是个好主意的问题。这有可能吗?这就是标准对#include指令的描述:
C++14标准,16.2/2[cpp.include]
表单的预处理指令
#包括<h-char-序列>新线
在实现定义的位置序列中搜索由指定的唯一标识的标头在<并且>分隔符,并导致用整个内容替换该指令收割台的。如何指定位置或确定标题是实施的定义。
"h-char序列"允许来自源字符集的字符:
2.3[lex.charset]
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O p Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
_{}[]#((<gt;%:;.?*+-/^&|~!=,\"'
该措辞中没有任何内容说明所包含的文件必须位于物理位置。此外,还允许使用有用URI所需的所有字符。
问题
据我所知,没有一个C++编译器,当然三大编译器(Clang、GCC、MSVC(都没有实现这个功能。
Todo
依赖额外的工具是行不通的。在这种情况下,仅仅克隆有问题的存储库是一项过于简单和熟悉的任务。
因此,以下是您必须做的:
-
将源代码提供给相关编译器,实现对#include的URI支持(别忘了缓存或编译时间会很慢(,并将其作为相应编译器的官方功能接受。
-
在相关构建系统中实施支持。首先,我建议至少使用make、CMake和GNU Autotools。
-
做大量的市场营销来说服C++社区使用这个功能。
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- Cppcheck生成xml转储文件
- 读取文件的最后一行并输入到链接列表时出错
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 如何将内容数组写入文本文件?
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到