我已经编码了 5 年多了,现在想远离 IDE,尝试一个没有 IDE 的项目。我有开始所需的东西(我认为),一个 HelloWorld.cpp 文件,打开的 Windows 命令提示符并安装了 Clang。
现在我有了这些东西,我的问题是 - 我需要在命令提示符中输入什么才能使 Clang 获取 HelloWorld.cpp 文件中的 C++ 代码并将其编译成包含 的单独文件assembly code,然后使 Clang 获取我的汇编代码并将其汇编成一个包含 的单独文件object code,然后最后让 Clang 获取我的目标代码并将其链接machine code到一个包含?的单独文件中。
最终意味着最后我将有 4 个文件,一个包含 C++ 代码,一个包含汇编代码,一个包含目标代码,最后一个包含机器代码。所有这一切的要点是能够在运行包含机器代码的文件之前读取和理解流程的每个阶段。
作为第一次离开 IDE 世界的人,我发现 Clang 官方文档非常混乱,无法找到我的问题的直接答案。
我有 HTML:
<div class="dropdown">
<button class="dropbtn">Game Design</button>
<div class="dropdown-content">
<a id="GameIdea" href="GameIdea.html">Link 1</a>
<a id="GameMechanics" href="GameMechanics.html">Link 2</a>
<a id="GameCharacters" href="GameCharacters.html">Link 3</a>
<a id="Inspiration" href="Inspiration.html">Link 3</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和 JavaScript:
var anchor = document.getElementById(pathShort); //e.g. pathShort == GameIdea
var anchorParent = anchor.parentNode;
var button = anchorParent.previousSibling;
button.classList.add("active");
Run Code Online (Sandbox Code Playgroud)
问题是这样的 - 我不想要锚元素:document.getElementById(pathShort);
我想要按钮元素,因此正如您所看到的,我anchor.parentNode;用来获取div锚点所在的 ,然后anchorParent.previousSibling;获取 , 旁边的元素div,而不是之后。
在我看来,我认为这会起作用,但在控制台中我得到了错误Cannot read property 'add' of undefined,因此变量button必须有效null或empty,这意味着我在“添加”调用之前的 DOM 遍历方法不起作用。