标签: loader

为什么 ELF 程序头有两个 LOAD 条目,而程序布局三个部分

我编写了一个启用了 PIE/PIC 的“hello world”程序。我观察到程序头有 2 个 LOAD 条目:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
... ...
  LOAD           0x000000 0x00000000 0x00000000 0x00870 0x00870 R E 0x1000
  LOAD           0x000eb0 0x00001eb0 0x00001eb0 0x0015c 0x00164 RW  0x1000
Run Code Online (Sandbox Code Playgroud)

所以在我的理解中,ELF 二进制文件将被加载到 2 个页面中。第 1 页包含从偏移量 0 到文件大小 0x870 的二进制文件,它是 Read & Execute。由于它们是 0x1000 对齐的,因此第二个条目将被加载到包含二进制文件的第二页中(从偏移量0xeb00xeb0+0x15c)。此页面具有读写权限。

当我“pmap”正在运行的进程(或 cat /proc/pid/maps)时,它显示正在运行的程序有 3 个页面:

b7554000      4K rw---   [ anon ]
b7555000   1700K r-x-- libc-2.19.so
b76fe000      4K ----- libc-2.19.so
b76ff000      8K r---- libc-2.19.so
b7701000 …
Run Code Online (Sandbox Code Playgroud)

linux loading elf loader

3
推荐指数
1
解决办法
1181
查看次数

Angular 4 HttpInterceptor:显示和隐藏加载器

我已经实现了HttpInterceptor接口以拦截传出的请求和传入的响应。

我想在创建请求时显示加载程序,并在收到响应时隐藏该加载程序。

虽然下面的代码在检测到 HttpResponse 时工作,但它不会检测到 Http Failure(当响应代码不同于 200 时),因此,加载器不会被隐藏。

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(private loaderService: LoaderService) { }

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    this.loaderService.show();

    return next
        .handle(req)
        .do(event => {
            //nothing is printed when a Http failure occurs
            console.log('detecting event ', event);
            if (event instanceof HttpResponse) {
                console.log('detecting http response');
                this.loaderService.hide();
            }
        });
  }
}
Run Code Online (Sandbox Code Playgroud)

httpclient loader interceptor angular

3
推荐指数
1
解决办法
4429
查看次数

DataLoader 未在 PyTorch 中随机采样

我的 DataLoader 在每个时期都返回相同的图像。我的模型每次只查看相同的单个图像(索引为“0”)(批量大小为 1...尽管无论如何,不​​同批量大小没有任何变化)。

这是我的数据集,精简为重要部分:

class MyDataset(Dataset):

    def __init__(self, path, loader=pil_loader):
        self.path = path
        self.images = os.listdir(path)

    def __getitem__(self, index):
        image = self.images[index]

    . . .
Run Code Online (Sandbox Code Playgroud)

这是数据集:

train_ds = MyDataset('/data')
Run Code Online (Sandbox Code Playgroud)

这是我的采样器:

train_sampler = RandomSampler(train_ds)
Run Code Online (Sandbox Code Playgroud)

这是我的数据加载器:

train_dl = DataLoader(train_ds, batch_size=1, sampler=train_sampler)
Run Code Online (Sandbox Code Playgroud)

我不确定为什么在训练期间它每次都会返回相同的图像。

是我RandomSampler设置不完整吗?或者也许我写错了__getitem__?我想不通。

python loader deep-learning pytorch

3
推荐指数
1
解决办法
3504
查看次数

从 Android P (API 28) 开始,Android Studio Loaders 已被弃用?

我是 Android 新手,我已经完成了一些 Android 应用程序开发课程,现在我正在尝试应用我学到的知识。我为它选择了一个新闻应用程序。它将从 5-10 个来源中提取新闻并将它们显示在 recyclerview 中。

我意识到我使用的课程材料已经过时。我已经使用 AsynctaskLoader 来处理互联网连接问题,但现在在官方 Android 文档中,它说“从 Android P(API 28)开始不推荐使用加载器。在处理 Activity 和 Fragment 生命周期时处理加载数据的推荐选项是使用ViewModel 和 LiveData 的组合。”

我的问题是我应该转换我的代码以符合 ViewModels 和 LiveData 还是 Asynctask 处理我的任务(或任何其他建议)?正如我提到的,我只想从几个来源中提取新闻数据并将它们显示在应用程序中。看来我不需要数据存储功能。但是,现在我添加了两个新闻源,该应用程序似乎有点晚加载新闻数据。这种延迟是否与使用加载器有关?使用视图模型会加速新闻加载任务吗(特别是当有很多新闻源时)?

android loader android-asynctask android-viewmodel

3
推荐指数
1
解决办法
2034
查看次数

Webpack 警告:您可能需要合适的加载程序来处理此文件类型 (date-nfs)

我的应用程序有问题。我有一个网站。我使用 date-fns 显示基于用户语言的格式化日期。

它工作得很好,但我已经更新了 date-fns,从那以后我有一个警告。在我的 JavaScript 代码中,我使用:

const locale = require(`date-fns/locale/${props.match.params.lang}`)
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以生成正确的格式:

format(new Date(), 'D MMMM YYYY', { locale })
Run Code Online (Sandbox Code Playgroud)

它有效,但我不喜欢在构建 webpack 时收到的这个警告。你能帮我理解我的代码有什么问题吗?如果它在 webpack 配置或包含中。

 You may need an appropriate loader to handle this file type.
>frontend         | > declare module 'date-fns/locale/fr' { }
>frontend         | | 
>frontend         |  @ ./node_modules/date-fns/locale sync ^\.\/.*$ ./fr/index.d.ts
>frontend         |  @ ./assets/javascripts/features/weather/components/home-header.js
>frontend         |  @ ./assets/javascripts/features/weather/components/home.js
>frontend         |  @ ./assets/javascripts/features/weather/containers/home-container.js
>frontend         |  @ ./assets/javascripts/features/weather/containers/app.js
>frontend         |  @ ./assets/javascripts/features/weather/index.js
>frontend         |  @ ./assets/javascripts/app/router.js
>frontend         | …
Run Code Online (Sandbox Code Playgroud)

warnings include loader webpack date-fns

3
推荐指数
1
解决办法
563
查看次数

用于了解Windows中正在运行的进程的布局(段)的任何工具?

我一直很好奇

  1. 过程在内存中的确切程度如何?
  2. 它中有哪些不同的部分(部分)?
  3. 程序(在磁盘上)和进程(在内存中)究竟是如何相关的?

我之前的问题:关于可执行程序的内存布局的更多信息(进程)

在我的追求中,我终于找到了答案.我发现这篇优秀文章清除了我的大部分疑问:http://www.linuxforums.org/articles/understanding-elf-using-readelf-and-objdump_125.html

在上面的文章中,作者展示了如何获取进程的不同部分(LINUX)并将其与相应的ELF文件进行比较.我在这里引用这一节:

很有可能看到流程细分的真实布局?我们可以使用/ proc // maps文件来显示它.是我们想要观察的过程的PID.在我们继续之前,我们在这里遇到一个小问题.我们的测试程序运行得如此之快,以至于我们甚至可以转储相关的/ proc条目.我用gdb来解决这个问题.您可以使用另一个技巧,例如在调用return()之前插入sleep().

在控制台(或xterm等终端模拟器)中执行:

$ gdb test
(gdb) b main
Breakpoint 1 at 0x8048376
(gdb) r
Breakpoint 1, 0x08048376 in main ()
Run Code Online (Sandbox Code Playgroud)

按住这里,打开另一个控制台,找出程序"测试"的PID.如果您想要快速方式,请键入:

$ cat /proc/`pgrep test`/maps
Run Code Online (Sandbox Code Playgroud)

你会看到如下的输出(你可能得到不同的输出):

[1]  0039d000-003b2000 r-xp 00000000 16:41 1080084  /lib/ld-2.3.3.so
[2]  003b2000-003b3000 r--p 00014000 16:41 1080084  /lib/ld-2.3.3.so
[3]  003b3000-003b4000 rw-p 00015000 16:41 1080084  /lib/ld-2.3.3.so
[4]  003b6000-004cb000 r-xp 00000000 16:41 1080085  /lib/tls/libc-2.3.3.so
[5]  004cb000-004cd000 r--p 00115000 16:41 1080085  /lib/tls/libc-2.3.3.so
[6]  004cd000-004cf000 rw-p 00117000 …
Run Code Online (Sandbox Code Playgroud)

windows linker operating-system process loader

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

Rails:自动加载lib无法正常工作

由于某种原因,我的自动加载器不工作,我按照一些教程,这是我的config\application.rb文件看起来像

require File.expand_path('../boot', __FILE__)

require 'rails/all'

Bundler.require(:default, Rails.env) if defined?(Bundler)

module Quotes
  class Application < Rails::Application

    # Custom directories with classes and modules you want to be autoloadable.
    # config.autoload_paths += %W(#{config.root}/extras)
        config.autoload_paths += %W(#{config.root}/lib)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:未初始化的常量ActionView :: CompiledTemplates :: PaginationListLinkRenderer

这是我的lib\paginationlistlinkrenderer.rb代码

class PaginationListLinkRenderer < WillPaginate::ViewHelpers::LinkRenderer

    protected
    ...
    ...

end
Run Code Online (Sandbox Code Playgroud)

这是我的index.html.erb

<div id="img_content">
    <%= render @posts%>
</div>

<%= will_paginate(@posts, :renderer => PaginationListLinkRenderer) %>
<%= link_to "New Quote", new_post_path %>
Run Code Online (Sandbox Code Playgroud)

我只需要预先加载这个文件,这样我的控制器就能识别它.有任何想法吗?

config ruby-on-rails loader

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

使用AsyncTask加载位图图像

我试图通过我的应用程序在后台加载图像.我写的逻辑是这样的:

public class ImageLoader extends AsyncTask <Context, Void, Bitmap>{

    private String URL;
    private int type;

    ImageLoader(String Url, int Type)
    {
        URL = Url;
        type = Type;
    }

    @Override
    protected Bitmap doInBackground(Context... arg0) {

        AssetManager assetMgr = arg0[0].getAssets();
        Bitmap bitmap = null;
        try {
            bitmap = BitmapFactory.decodeStream(assetMgr.open(URL));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return bitmap;
    }

    @Override
    protected void onPostExecute( Bitmap result )  {
          super.onPostExecute(result);

          if (type == 1)
              Inst1 = result;
          else if (type == 2)
              Inst2 = result; …
Run Code Online (Sandbox Code Playgroud)

java android loader android-asynctask

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

动态库的--start-group和--end-group链接器标志的重要性

我们进行了一项练习,除非绝对必要,否则停止使用--start-group和--end-group进行静态链接.我们无条件地使用了这个,无论所讨论的静态库是否具有循环依赖性.我理解在我们取出无条件的--start-group和--end-group之后,链接器的压力较小,但只将它放在真正需要的地方.

我想知道动态链接库的这些选项的重要性.

ld.so运行时加载程序如何解决动态库的循环依赖关系(如果有的话)?

这提出了另一个问题,我们是否真的要担心动态库的--start-group和--end-group使用呢?

说实话,我还没有读到这个,但我觉得可以在这里问一下.

c linker circular-dependency loader

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

Autoprefix loader在Webpack中打破了scss编译

我无法让autoprefixer-loader 1.10作为我的scss/css的前缀(显然1.20已经坏了).添加加载程序后,它不再正确编译mixins.当我删除错误的mixins时,它会编译,但不会添加前缀.这是来自终端的Webpack的编译细节,以及我的模块结构.任何帮助,将不胜感激.

https://gist.github.com/zachshallbetter/efafbffa7e08bcc0aab4

  module: {
    loaders: [{
      test: /\.jsx?$/,
      loaders: ['react-hot', 'babel'],
      include: path.join(__dirname, 'app/scripts')
    },
    {
      test: /\.scss$|\.css$/,
      loader: 'style-loader!css-loader!sass-loader'
    },
    {
      test: /\.jpe?g$|\.gif$|\.png$|\.svg$|\.woff$|\.ttf$|\.wav$|\.mp3$/,
      loader: "file"
    },
    {
      test: /\.json$/,
      loader: "raw-loader"
    }]
  }
Run Code Online (Sandbox Code Playgroud)

javascript loader reactjs webpack autoprefixer

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