标签: loader

复制迁移的目的是什么?

背景:如果可执行文件具有在共享对象中定义的外部数据引用,则编译器将使用复制重定位并将副本放置在其 .bss 部分中。此站点详细介绍了复制重定位: http://www.shrubbery.net/solaris9ab/SUNWdev/LLM/p22.html#CHAPTER4-84604

然而,我的问题是:

是否可以像共享对象中的外部数据引用一样,通过GOT来实现?可执行文件可以通过其GOT条目间接访问该外部代码,并且该GOT条目可以在运行时填充该符号的真实地址。我不知道为什么GCC不这样实现。复制迁移有什么好处?

linker gcc loader relocation dynamic-linking

5
推荐指数
1
解决办法
1814
查看次数

如何访问通过 Loader 加载的 qml 页面的公共属性?

AA.qml

Item
{
    id:             drawLinesOnC

    property string  lineColour
    property int     lineDrawingSourceType
    property variant startEndPointArray

}
Run Code Online (Sandbox Code Playgroud)

主文件

Loader
{
   id:     drawLineLoaderA
   source: "AA.qml"
}
Run Code Online (Sandbox Code Playgroud)

——

如何访问AA.qml通过 Loader 加载的页面的公共属性drawLineLoaderA

qt loader qml qt-quick

5
推荐指数
1
解决办法
3545
查看次数

PC 与负载或链接地址有什么关系?

链接地址是程序执行发生的地址,而加载地址是程序实际放置在内存中的地址。

现在我很困惑程序计数器的值是什么?是加载地址还是链接地址?

linker operating-system loader computer-architecture program-counter

5
推荐指数
1
解决办法
1216
查看次数

webpack“找不到模块”

从 Gulp 切换到 Webpack,由于某种原因无法让 LESS css 工作

module.exports = {
    entry: {
        web: ['./src/web/ts/index.js']
    },
    output: {
        path: './dev/web/js/',
        filename: 'bundle.js'
    },
    devtool: 'source-map',
    resovle: {
        extensions: ['', '.js'],
        modulesDirectories: ['node_modules']
    },
    module: {
        loaders: [
            {
                test: /\.less$/,
                loaders: ['style', 'css', 'less']
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

这个 webpack.config.js 看起来还可以,但是 main.less 里面的样式并没有复制到 ./dev 文件夹,也没有注入到 index.html 文件中(我手动将文件复制到了 ./dev 文件夹,并且它没有被修改)。我试过

require("./src/web/less/main.less");
Run Code Online (Sandbox Code Playgroud)

这给了我一个“意外令牌”错误,我试过了

require("!style!css!less!./src/web/less/main.less");
Run Code Online (Sandbox Code Playgroud)

这让我出现“找不到模块”错误。正如我所说,删除两者我会得到 bundle.js,但在任何地方都没有 CSS。

怎么了?请帮忙!

loader webpack

5
推荐指数
1
解决办法
7597
查看次数

webpack loader:如何将文件添加到文件系统缓存

我正在尝试编写一个加载程序,将衍生文件添加到 webpack 文件系统缓存中。

在高层次上,我有一个 CSS 加载器,它应该为 CSS 类生成 TypeScript 类型定义文件。这个加载器位于加载器顺序的中间,因为我正在为 CSS 模块生成这些文件。

我可以使用 编写这些文件fs,但是直到下次运行 webpack 时,TypeScript 加载器才会看到这些文件。这使得 TS 第一次抛出错误。

如何让加载器修改 webpack 的文件系统缓存?

loader typescript webpack css-modules

5
推荐指数
0
解决办法
325
查看次数

如何使静态链接的 ELF 文件加载 LD_PRELOAD .so

我有静态链接的二进制文件(ELF 文件),它没有动态段、.dymsym 部分,也不执行 LD_PRELOAD 命令等。我如何创建假虚拟动态段来激活动态加载程序并执行 LD_PRELOAD 命令?

linux elf loader ld-preload

5
推荐指数
1
解决办法
1971
查看次数

MS 加载程序将 PE 文件的哪些部分映射到内存中?

MS 加载程序将 PE 文件的哪些部分映射到内存中?

从 PE 文档中,我可以推断出 PE 可执行文件的典型格式(见下文)。

我知道,通过检查,PE 文件的所有内容,直到并包括节头,都完全按照存储在磁盘上的方式映射到内存中。

接下来发生什么?

文件的其余部分是否也被映射(在这里我指的是下图中的图像页面部分),以便整个文件完全像存储在磁盘上一样在内存中,或者加载程序是否比这更具选择性?

在文档中,我发现了以下代码段:

另一个例外是属性证书和调试信息必须放在图像文件的最后,属性证书表紧跟在调试部分之前,因为加载程序不会将它们映射到内存中。但是,关于属性证书和调试信息的规则不适用于目标文件。

这就是我能找到的关于加载器行为的全部内容;它只是说这两部分必须放在文件的最后,因为它们不会进入内存。

但是,如果加载程序加载除这两部分之外的所有内容,并且我将 RVA 部分设置得足够高,那么实际上会在内存中复制部分数据(一次在映射文件中,一次用于 RVA 指定的位置)?

如果可能,请链接到我可以进一步阅读有关特定于 MS Windows 的加载的地方。

在此处输入图片说明

windows x86 assembly loader portable-executable

5
推荐指数
1
解决办法
2262
查看次数

使用 webpack 导入 UMD 构建的模块导致严重依赖错误

我正在尝试构建一个简单的文件,该文件依赖于使用 UMD 导出构建的库。

// main.ts
import { parseTree } from 'jsonc-parser';

const tree = parseTree('{ "name: "test" }');

console.log(tree);
Run Code Online (Sandbox Code Playgroud)

它编译得很好,但是 webpack 会抛出依赖错误:

哈希:85004e3e1bd3582666f5 版本:webpack 2.3.2 时间:959ms 资产大小 块 块名称 dist/bundle.js 61.8 kB 0 [emitted] main build/main.d.ts 0 bytes [emitted] [0] ./~/jsonc-解析器/lib/main.js 40.1 kB {0} [内置] [1] ./~/jsonc-parser/lib 160 字节 {0} [内置] [2] ./~/path-browserify/index.js 6.18 kB {0} [内置] [3] ./~/process/browser.js 5.3 kB {0} [内置] [4] ./src/main.ts 200 字节 {0} [内置] [5] ./ ~/vscode-nls/lib 160 字节 {0} [可选] [内置] [6] ./~/vscode-nls/lib/main.js 5.46 …

loader typescript webpack umd

5
推荐指数
1
解决办法
2278
查看次数

无法使用文件加载器在 React 中导入 mp3/wav 文件

我一直在尝试在 React 中导入一些 mp3 和 wav 文件,但是在编译时遇到了一些错误,这些错误似乎与加载器有关。

不同的语法。

      {
        test: /\.(mp3|wav)$/,
        use: {
          loader: 'file-loader',
        },
      },

Uncaught Error: Module parse failed: Unexpected character '' (1:3)
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)

import sad from './sad.mp3';

this.wrongSound = new Audio(sad);
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用。然而,这根本不需要加载器:

this.wrongSound = new Audio('./src/sad.mp3');
Run Code Online (Sandbox Code Playgroud)

我想知道这是为什么。

javascript mp3 loader reactjs webpack

5
推荐指数
0
解决办法
1192
查看次数

在 Webpack 中构建时导入 YAML 数据,并使其在运行时可作为解析数据使用

我试图在构建时导入 YAML 文件的内容,并以某种方式使解析的内容可供我的应用程序使用。

这是一个 Webpack 项目,我的任务是为其构建新功能。该项目使用的是Vue。我对 Webpack 的经验几乎为零。我已经安装了该js-yaml-loader包,并使用它配置了 Webpack,如下所示:

module: {
  rules: [
    ...,
    {
      test: /\.ya?ml$/,
      include: path.resolve(process.cwd(), 'src/data'),
      loader: 'js-yaml-loader'
    },
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

据我了解,这将在构建时遍历src/dataYAML 文件的文件夹,并使用js-yaml-loader加载器加载它们,然后加载器会以某种方式将这些文件的解析内容包含在某处。但是当我搜索生成的输出时,YAML 中包含的键/值找不到。

我的做法正确吗?或者我有什么误解?

yaml loader webpack vue.js

5
推荐指数
1
解决办法
6663
查看次数