小编Dav*_*vid的帖子

Clang 是否为内联汇编生成了错误的代码?

我有一些 C 代码:

#include "stdio.h"

typedef struct num {
    unsigned long long x;
} num;

int main(int argc, char **argv) {
    struct num anum;
    anum.x = 0;
    __asm__("movq %%rax, %0\n" : "=m" (anum.x) : "rax"(2));
    printf("%llu\n",anum.x);
}
Run Code Online (Sandbox Code Playgroud)

我正在我的(英特尔)Mac 笔记本电脑上编译并运行它。

代码的输出似乎有所不同,具体取决于我使用 (GNU) GCC 还是 Clang 进行编译。gnucc -o gnu-test test.c我使用GCC(从https://gcc.gnu.org/install/download.htmlgnucc下载源代码后在 Mac 上从源代码构建)和Clang(内置 macOS Clang)进行编译。clang -o clang-test test.c

在我的 Mac 上,使用 GNU,结果是2(这是我所期望的)。使用 Clang,结果是140701838959608.

Clang 结果对我来说似乎是错误的,但我也想知道我的内联汇编是否不太正确,而 GCC 恰好没有暴露我的错误。

我在Compiler Explorer上尝试了相同的代码, GCC(x86-64 GCC 13.2 …

c clang inline-assembly

17
推荐指数
1
解决办法
1378
查看次数

从拉出的github项目启动React App

我已经将包含一个reactjs应用程序代码的github存储库拉到我的一个目录中,但找不到在我的计算机上运行该应用程序的方法。我可以使用create-react-app启动一个新应用,但是我不能(不知道如何)将现有应用用于新应用。

我在虚拟机上运行Ubuntu 16.04.3,我的节点版本是4.2.6。我尝试了sudo apt-get install --only-upgrade nodejs,但是它只是说我的节点版本已经是最新的。(我之所以这样做,是因为npm start给了我很多错误,并告诉我可能是因为我可能必须更新节点),但是我使用create-react-app创建的应用程序可以正常工作吗?错误: 在此处输入图片说明 Package.json:

{
    "name": "my-app",
    "version": "0.1.0",
    "private": true,
    "dependencies": {
        "bootstrap": "^3.3.7",
        "express": "^4.16.2",
        "package.json": "^2.0.1",
        "prop-types": "^15.6.0",
        "react": "^16.0.0",
        "react-bootstrap": "^0.31.5",
        "react-dom": "^16.0.0",
        "react-router-dom": "^4.2.2",
        "react-scripts": "1.0.14",
        "uuid": "^3.1.0",
        "webpack": "^3.8.1"
        },
    "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test --env=jsdom",
        "eject": "react-scripts eject"
        },
    "devDependencies": {
        "babel-cli": "^6.26.0",
        "babel-preset-env": "^1.6.1"
        }
}
Run Code Online (Sandbox Code Playgroud)

node.js npm reactjs

2
推荐指数
1
解决办法
4372
查看次数

标签 统计

c ×1

clang ×1

inline-assembly ×1

node.js ×1

npm ×1

reactjs ×1