Skip to content

Commit

Permalink
feat: 解释如何分享代码
Browse files Browse the repository at this point in the history
  • Loading branch information
FeignClaims committed Sep 30, 2024
1 parent 57257bc commit 2520ae2
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 5 deletions.
4 changes: 2 additions & 2 deletions cpp/main.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ C++ 环境配置
=======================================================================================================================

- 直接装 `Visual Studio (Windows 可用) <https://visualstudio.microsoft.com/zh-hans/>`_ 就好; 当然更建议按下文配置 Visual Studio 或 **VSCode**.
- `Compiler Explorer <https://godbolt.org/z/3bqadYv8b>`_ 可用来在线编译运行、分享代码, 它能自动格式化代码, 检测 :cpp:`=` 错写成 :cpp:`==`、下标越界等 Visual Studio 默认没检查的问题, 并有其他很多功能.
- :ref:`Visual Studio 配置教程 (Windows 可用) <vscode_cpp_starter:vs>`, 在 Visual Studio 默认配置基础上让他支持上述 Compiler Explorer 的部分功能和检查, 并能代码行间显示报错.
- 如需在线编译运行, 可用 :godbolt:`Compiler Explorer <577xz95h1>`, 它能检测 :cpp:`=` 错写成 :cpp:`==`Visual Studio 默认没检查的问题.
- :ref:`Visual Studio 配置教程 (Windows 可用) <vscode_cpp_starter:vs>`, 在 Visual Studio 默认配置基础上添加自动格式化、代码行间显示报错、更多诊断.
- :ref:`VSCode 配置教程 (Windows/MacOS/Linux 均可用) <vscode_cpp_starter:main>`, 相比 Visual Studio 配置教程, 它还能 **自动添加头文件**, 有更丰富的字体和颜色, 且检查代码速度更快.

=======================================================================================================================
Expand Down
6 changes: 3 additions & 3 deletions how_to_ask.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
************************************************************************************************************************
如何询问 C++ 代码问题
如何询问 C++ 代码问题?
************************************************************************************************************************

.. epigraph::
Expand Down Expand Up @@ -41,7 +41,7 @@
想一想你的第一个问题是怎么问的. 比较一下:

- "这是包含了我项目中所有文件的一个压缩包, 你能告诉我它有什么问题吗?"
- "这是一个在线编译器 (:godbolt:`Godbolt <jTY7jbrh4>`, Wandbox 等) 的链接, 在其中第 43 行有一个我不明白的编译器错误; 你能告诉我如何解决这个错误吗?"
- "这是一个在线编译器 (:doc:`/share_code/main`) 的链接, 在其中第 43 行有一个我不明白的编译器错误; 你能告诉我如何解决这个错误吗?"

指望着别人安装一些东西, 翻阅许多文件, 猜测你的问题, 然后解决你的问题并耐心向你解释这一切, 实在是太过分了. 至少要告诉别人你的问题到底是什么!

Expand All @@ -51,7 +51,7 @@
向我们展示你的代码和错误信息, 并且千万不要是以截图的形式!
------------------------------------------------------------------------------------------------------------------------

- 你可以把代码复制到 :godbolt:`Godbolt <jTY7jbrh4>` 或者 Wandbox 这样的在线编译器中, 或者如果它少于 20 行左右, 你可以把它粘贴到聊天窗口中——但在这么做之前, 记得格式化代码.
- 你可以把代码复制到 Godbolt 或者 Wandbox 这样的在线编译器中 (:doc:`/share_code/main`), 或者如果它少于 20 行左右, 你可以把它粘贴到聊天窗口中——但在这么做之前, 记得格式化代码.
- 将错误信息复制并粘贴为文本, 从而使它们更加容易阅读并方便我们在向你解释的时候复制和粘贴部分内容.
- 如果你因为代码太大或者因工作原因不能展示你的真实代码, 那就创造一个有相同问题的小例子并展示给我们.

Expand Down
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ C++ 洋葱剥法交流群资料
:maxdepth: 1

/searching_method/main.rst
/share_code/main.rst
/how_to_ask.rst
/debugger/main.rst
/formatter/main.rst
Expand Down
Binary file added share_code/full.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions share_code/main.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
************************************************************************************************************************
如何用网页链接分享代码?
************************************************************************************************************************

我个人推荐使用 Compiler Explorer 分享代码, 它是目前我已知 **最好的在线编译器**. 在上面写好代码后, 点击右上角的 :menuselection:`Share` 即可进行分享.

========================================================================================================================
单源文件项目分享
========================================================================================================================

:godbolt:`577xz95h1`

.. figure:: simple.gif

分享方法

========================================================================================================================
多源文件项目分享
========================================================================================================================

:godbolt:`b5x8EbE9f`

.. figure:: full.gif

分享方法

========================================================================================================================
我常用的 Compiler Explorer 配置
========================================================================================================================

以下是我常用的一些 Compiler Explorer 配置, 相较于默认配置添加了非常多的检查 (例如下标越界等). 如果需要配置这样检查的软件, 请阅读 :ref:`VSCode 配置教程 (Windows/MacOS/Linux 均可用) <vscode_cpp_starter:main>` 或 :ref:`Visual Studio 配置教程 (Windows 可用) <vscode_cpp_starter:vs>`.

- :godbolt:`clang <fsrxYYav9>`
- :godbolt:`clang - 单源文件项目 <K4r3sK3E6>`
- :godbolt:`clang - 多源文件项目 <o68aKEYM7>`
- :godbolt:`gcc <Mqvvv88xT>`
- :godbolt:`msvc (Visual Studio 的编译器) <EbWjP7j44>`
- :godbolt:`同时运行 clang、gcc、msvc <z37jWdc6a>`

========================================================================================================================
参考文献
========================================================================================================================

- C++ Weekly

- `SE.clang-tidy Auto Fixes in Compiler Explorer - Tribute to Hubert Matthews <https://www.youtube.com/watch?v=EfYMKOMc738>`_
- `172.Execution Support in Compiler Explorer <https://www.youtube.com/watch?v=4h8IOiu-K1c>`_

- `Compiler Explorer Wiki <https://github.com/compiler-explorer/compiler-explorer>`_
- `What's New in Compiler Explorer? - Matt Godbolt - C++ on Sea 2023 <https://www.youtube.com/watch?v=O5sEug_iaf4>`_
- `What's New in Compiler Explorer? 2024 Update - Matt Godbolt - C++Online 2024 <https://www.youtube.com/watch?v=28Gp3TTQYp0>`_
Binary file added share_code/simple.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2520ae2

Please sign in to comment.