问题标签 [compiler-specific]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1416 浏览

java - Sonarqube 是否支持强制执行编码标准的规则

Sonarqube 会产生代码问题,例如错误和安全相关问题,例如可能导致问题的漏洞和代码异味。有没有办法添加编码标准来强制执行特定于代码的可读性和可维护性的约定以及代码审查员在代码中执行的更多内容。因此,如果不满足注释、变量约定以及类和函数标准,它会自动通过质量门。但是我的一位开发人员说,Sonarqube 默认配置文件涵盖了代码审查员检查代码的大部分规则和约定。但我理解,编码标准文档中的规则和约定只能通过同行评审,而不是编译器和 Sonarqube 工具。

我相信 Sonarqube 和编译器的开发人员和专家可以确认编码标准中的规则和约定,如源代码的一般样式、语句标准、方法、命名约定、变量分配、类、接口、包的标准等。一种通过 Sonarqube 添加编码标准规则的方法,请分享?

[编辑]

0 投票
1 回答
1184 浏览

typescript - 什么是双变量参数?~ 打字稿

TypeScript 的文档带有Compiler Options,其中--strictFunctionTypes定义了它的描述。不幸的是,无法得到什么是双变量参数。我也试图理解https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant

0 投票
0 回答
41 浏览

compiler-construction - 由于与数组索引和指针地址相关的别名,编译器如何实现数组和指针的数据流分析

我通过谷歌搜索在线查看了上述问题,但没有找到易于理解的高级方法的方法。我已经阅读了 Cooper/Torczon 的 Engineering-a-Compiler 教科书(https://www.amazon.com/Engineering-Compiler-Keith-Cooper/dp/012088478X),但这并没有谈到阵列的数据流分析。我了解标量和 SSA 等高级 IR 的数据流分析。

关于如何为数组/指针完成的任何易于理解的解释?

0 投票
1 回答
35 浏览

compiler-specific - 源代码如何仅由编译器编译?

我的问题是,编译器如何转换源代码,它只是一个软件。是否有任何硬件或 CPU 可以帮助编译器完成其工作?谢谢。

0 投票
1 回答
68 浏览

arrays - C中的可变大小数组如何在内部工作?

我试图了解可变大小的静态数组如何在内部工作:

以下是 C 中的一个固定大小的静态数组及其等效的程序集;

然而,一个可变大小的数组如下所示

如果我声明一个可变大小的数组,我会看到很多汇编指令。有人可以解释这种可变大小的灵活性是如何实现的吗?

0 投票
1 回答
91 浏览

c - 我还需要担心哪些其他编译器来担心结构打包?

在 GCC 中,我需要使用__attribute__((packed))使结构占用最少的空间,例如,如果我有大量结构,我应该打包它们。还有哪些常见的编译器会进行结构填充,以及如何在这些其他编译器中打包结构?

0 投票
0 回答
22 浏览

linux - 如何获取按时间顺序调用的所有函数的列表?

有没有办法按时间顺序列出执行程序时调用的所有函数?使用调用函数的时间顺序列表,可以生成订单文件。我可以使用程序检测(-finstrument-function-entry-bare)来做到这一点,但这对我的用例来说太重了。是否有跟踪工具可以在 linux 机器上提供帮助?我知道dtrace有一些功能,但仅适用于 Mac OS AFAICT。

0 投票
1 回答
30 浏览

clang - eraseFromParent() LLVM 上的分段错误

以上是我的代码片段。在这里,在上面的代码中,我想随机删除一条指令..只是为了知道如何使用这个api。但是,无论我尝试什么,它都会以分段错误告终!需要一些指导,请在这里