小编cal*_*hiz的帖子

如何使用一次只能读取32位的方法准确读取64位寄存器值?

之前面试的时候也遇到过这个问题,但是没有得到反馈。

由于它是一个寄存器,我是否需要在访问寄存器之前禁用中断以防止数据损坏?考虑使用两个缓冲区,32 位和 64 位,并将 32 位缓冲区发送到 read32() 中,并将其相应地转移到 64 位缓冲区。我们假设这是小端架构。

我在 repl.it 上编写了一个快速示例代码(输出与寄存器值不匹配

#include <stdio.h>
#include <string.h>
#include <stdint.h>

void read32(uint64_t *reg, uint32_t *buffer){
  memcpy(buffer, reg, 4);
}

int main(void) {
  
  //register
  uint64_t reg = 0xAAAAAAAAFFFFFFFF;
  
  //buffers
  uint32_t buf_32 = 0;
  uint64_t buf_64 = 0;

  //read LSW
  read32(&reg, &buf_32);
  buf_64 |= buf_32; //add LSW

  //read MSW
  read32(&reg+4, &buf_32);
  buf_64 |= ((uint64_t)buf_32 << 32);
  
  printf("64 bit register value: 0x%lx\n", buf_64);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

64 bit register value: …
Run Code Online (Sandbox Code Playgroud)

embedded microcontroller arm low-level-io

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

LINQ EF Core 左连接

这里有一个问题:LEFT OUTER JOIN in LINQ,但这是专门询问的有关 Linq-to-Objects 的问题。这个问题是关于 Linq-to-Entity 的。

我有一个内部联接,我想将其变成外部联接:

        alumni = alumni.Join(_context.AlumniSurvey, a => a.Uid, s => s.Uid, (a, s) => new { a, s })
                    .Where(x => x.s.UniversityNumber != x.s.Uid)
                    .Select(x => x.a);
Run Code Online (Sandbox Code Playgroud)

并不是说我只是回国的校友;我包含 AlumniSurvey 是因为我将根据用户在索引视图中选择的内容执行各种 where 子句

linq entity-framework

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

HTML 中的命名空间是什么?

我试图理解 HTML 中的命名空间非常简单。

使用这两个命令有什么区别。为什么要用createElementNSover createElement

const a = document.createElementNS("http://www.w3.org/2000/svg", "svg")
const b = document.createElement("svg")
Run Code Online (Sandbox Code Playgroud)

资源:

html javascript

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

Slicing strings

In python, I want to slice strings in a list in such a way that first few characters from that list must be removed/spliced out.

a=['hello', 'things', 'becoming', 'expensive']
Run Code Online (Sandbox Code Playgroud)

如何从列表中的每个字符串中删除前两个字符以获取输出

['llo', 'ings', 'coming', 'pensive']

python list slice

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

部分初始化的模块“csv”没有属性“writer”(很可能是由于循环导入)

我尝试了很多次,但它显示同样的错误,我不知道哪里出错了。

import csv

with open('student.csv','w',newline='') as f:
   w = csv.writer(f)
   w.writerow(['Rollno','Name','Marks'])
   w.writerow([101,'somesh',89])
   w.writerow([102,'yogesh',85])
   w.writerow([103,'akhilesh',75])
   w.writerow([874,'supreet',87])
Run Code Online (Sandbox Code Playgroud)

python attributeerror

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

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

如何观察协程流程的ContentProvider变化

我有一个通过内容提供商从数据库获取数据的流程。

fun getDataFlow(): Flow<Result> {
    return flow {
      emit(Result.Loading)

      // fetchAll() is the method to fetch data via contentResolover.query()
      val results = fetchAll()
      emit(Result.Success(categories))
    }.catch { e ->
      emit(Result.Error(e))
    }
  }
Run Code Online (Sandbox Code Playgroud)

那么当ContentProvider数据发生变化(onChange被调用)时,如何触发重新获取数据呢?

val contentObserver = object : ContentObserver(null) {
      override fun onChange(selfChange: Boolean) {
        super.onChange(selfChange)
      }
    }
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider kotlin kotlin-coroutines kotlin-flow

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

如何在 Kotlin 中将 Flow&lt;List&lt;T&gt;&gt; 转换为 Flow&lt;T&gt;?

我得到了一个类型流,我需要从中Flow<List<T>>得到一个类型流。Flow<T>

我试过:

outerFlow.onEach { items -> items.onEach { flow { emit(it) } }
Run Code Online (Sandbox Code Playgroud)

这是行不通的。我怎样才能实现这个目标?

kotlin kotlin-flow

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

如何使用 Pacman 降级特定包

如何在 Arch 发行版中使用 Pacman 降级软件包版本?例如,python-flask 是版本 2。但我需要将其降级到 1.1.2-4。

我该怎么做?

linux pacman-package-manager

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

如何在 Julia 中创建一个不返回任何内容的函数?

当我在 Julia 中创建函数时,我会在函数中打印一些内容,但不返回任何内容。但结果是函数打印我想要的内容并且也返回“无”。我该怎么做才能使该函数只打印我想要的内容而不返回“无”?

function julia

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