小编Ant*_*REL的帖子

`constexpr` 和 `#define` 之间的区别

所以我读了关于constexpr 和 const 之间有什么区别的有趣答案,但我很好奇 #define 和 constexpr 之间有什么区别?我觉得 constexpr 只是一个可以选择类型的#define。

c++ macros constexpr

16
推荐指数
2
解决办法
2万
查看次数

在 Flutter 中根据当前位置的经纬度获取完整地址详细信息

我已经在flutter 中使用了位置插件,我只能得到和。如何获取完整的地址详细信息。代码如下。latitudelongitude

Future<Map<String, double>> _getLocation() async {
//var currentLocation = <String, double>{};
Map<String,double> currentLocation;
try {
  currentLocation = await location.getLocation();
} catch (e) {
  currentLocation = null;
}
setState(() {
  userLocation = currentLocation;
});
return currentLocation;



}
Run Code Online (Sandbox Code Playgroud)

android flutter

10
推荐指数
4
解决办法
3万
查看次数

寻找 C memcpy 等效项

将字节从 src 写入 dst 的最有效(不安全)方法

我发现copy_nonoverlapping

pub unsafe fn copy_nonoverlapping(src: *const T, dst: *mut T, count: usize)
将 count * size_of::() 个字节从 src 复制到 dst。源和目的地不得重叠

我要写入的数据位于bufat index 4,我想将其写入_bytes_buffat (variable) index index * MAX_DATA_LENGTHMAX_DATA_LENGTH约为64Kb。

不过,我在让它发挥作用时遇到了一些麻烦。请参阅以下我当前尝试正确编写它的片段:

let mut  _bytes_buf:Vec<u8>; // big buffer, we don't know the total size at compilation
let mut buf = [0u8; MAX_DATA_LENGTH]; // small buffer

// [...] we now know the size, I write '3' below to make it …
Run Code Online (Sandbox Code Playgroud)

rust

9
推荐指数
1
解决办法
1万
查看次数

Flutter:将 jpg 转换为 webp

我想将 .jpg 或 .png 文件转换为 .webp。不幸的是镜像包只支持webp读取而不支持写入。

一种解决方案是将linux二进制文件添加到flutter(cwebp)中,但如何顺利执行?我检查了一下,发现这个问题是一年多前提出的,但仍然没有答案

我愿意接受任何建议,最终目标并不是格式本身,而是手机分辨率整体良好质量的最低文件大小。

image image-compression webp dart flutter

7
推荐指数
1
解决办法
7162
查看次数

由于 *mut u8,异步块创建的 Future 不是 `Send`

我能够继续实现我的异步 udp 服务器。但是,此错误出现两次,因为我的变量数据的类型*mut u8不是Send

error: future cannot be sent between threads safely
 help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `*mut u8`
note: captured value is not `Send`
Run Code Online (Sandbox Code Playgroud)

和代码(MRE):

use std::error::Error;
use std::time::Duration;
use std::env;
use tokio::net::UdpSocket;
use tokio::{sync::mpsc, task, time}; // 1.4.0
use std::alloc::{alloc, Layout};
use std::mem;
use std::mem::MaybeUninit;
use std::net::SocketAddr;

const UDP_HEADER: usize = 8;
const IP_HEADER: usize = 20;
const AG_HEADER: usize = 4;
const MAX_DATA_LENGTH: usize = (64 …
Run Code Online (Sandbox Code Playgroud)

rust debouncing rust-tokio

7
推荐指数
1
解决办法
1万
查看次数

Meltdown PoC详细代码审查

我读了关于Meltdown和Spectre的所有周末

我也已经阅读了针对SpectreMeltdown的.pdfs,对于 那些寻求更多关于这些漏洞的知识的人来说,这是必读的,但遗憾的是没有提供有关代码的详细解释.

我在github上发现了各种PoC,这非常有趣,但我缺乏完全理解它的知识.关于特定部分的更多解释,我将感激不尽:

从这个链接https://github.com/dendisuhubdy/meltdown/blob/master/src/poc.c ,以及其他git存储库,这个漏洞的概念中有许多有趣的部分.


时间读

/* Time reads. Order is lightly mixed up to prevent stride prediction */
    for (i = 0; i < 256; i++) {
        mix_i = ((i * 167) + 13) & 255;
        addr = &array2[mix_i * 512];
        time1 = __rdtscp(&junk); /* READ TIMER */
        junk = *addr; /* MEMORY ACCESS TO TIME */
        time2 = __rdtscp(&junk) - time1; /* READ TIMER & COMPUTE ELAPSED TIME */
        if …
Run Code Online (Sandbox Code Playgroud)

c security assembly exploit nasm

6
推荐指数
0
解决办法
572
查看次数

Flutter dart Map 具有多个键且值完全相同

是否有任何类型的集合来声明具有链接到同一值的多个键的映射?

我希望地图在声明的同时进行初始化。理想情况下是这样的:

MyMap<String, String> mymap = {['red', 'blue', 'green'] : 'Rock', ['pink', 'yellow' ...etc}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在文档中找到了Multimap,但似乎它是一个键用于多个值,除此之外,我在实现时遇到了很多麻烦,因为尽管文档中给出了 0 个示例。

这是我到目前为止的尝试:

static Iterable mylist = ['red', 'blue', 'green']; // I want to associate these strings to 'Rock'
static Iterable mylist = ['pink', 'yellow', 'cyan']; // I want to associate these strings to 'Funk'
static Multimap<String,String> okayboomer = Multimap.fromIterable(mylist);//, {K key(dynamic element), V value(dynamic element)});

Run Code Online (Sandbox Code Playgroud)

然后每当我访问 OKBoomer['red'] 时,我都会得到“Rock”。

我也在考虑HashMap

强烈感谢任何帮助!

dictionary dart flutter

6
推荐指数
1
解决办法
1万
查看次数

Chromium OS 中 fread 的这种实现是由什么组成的?

在 Chromium-os/glibc中查看fread源代码,对此越来越感到困惑。

注意:我说的是源代码,而不是fread其他相关问题的使用


作为宏的函数原型

首先,我对 fread 被声明为一个宏的方式感到惊讶,它带有函数名,然后是它的参数,最后是它的参数类型:

/* Read NMEMB chunks of SIZE bytes each from STREAM into P.  */

size_t
DEFUN(fread, (p, size, nmemb, stream),
      PTR p AND size_t size AND size_t nmemb AND register FILE *stream)
Run Code Online (Sandbox Code Playgroud)

这背后的理由是什么,为什么不

size_t fread(PTR p, size_t size, size_t nmemb, register FILE * stream)
Run Code Online (Sandbox Code Playgroud)

哪个更具可读性?


什么是 __fillbf(register FILE *stream)

我对这一行特别困惑:

int c = __fillbf(stream);
Run Code Online (Sandbox Code Playgroud)

并且在任何地方都找不到这个功能。我认为这可能是一个我还不知道的系统调用,但它不是表的一部分

那么背后的真正代码是__fill_bf(register FILE *)什么?

编辑:感谢DYP的宏定义, …

c libc

6
推荐指数
1
解决办法
98
查看次数

Rust:如何将字节连接在一起

我已经阅读了以下链接,但当前的尝试仍然出现一些错误:

let data = &[37u8, 42u8];
let data_two = &[0x34u8, 0x32u8];
let res:Vec<u8> = [data, data_two].concat();
Run Code Online (Sandbox Code Playgroud)

另外,理想情况下我想避免串联,并将 u8 数组写入缓冲区,其中我保留前两个字节用于存储长度和索引,例如:

let nb:u8 = get_chunks_nb();
let index:u8 = get_chunk_index();
let header = &[nb, index];

// this kind of things in C:
memcpy(&buffer, header, 2);
memcpy(&buffer[2], chunk, chunk_len);
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

rust

6
推荐指数
1
解决办法
1万
查看次数

Flutter:如何在应用栏小部件中包含切换按钮?

所以我有一个工作正常的应用程序栏小部件:

typedef void BoolCallback(bool val);

class MyAppBar extends PreferredSize {
  final int opacity;
  final String title;

  MyAppBar(this.opacity, [this.title]);
  @override
  Size get preferredSize => Size.fromHeight(kToolbarHeight);

  @override
  Widget build(BuildContext context) {
    return AppBar(
      title: Text(title != null ? title : ''),
      backgroundColor: Colors.white,
      centerTitle: true,
      leading: Container(
          color: Color(0x00ffffff), child: IconButton(
        icon: Icon(Icons.lightbulb_outline), 
        iconSize: 120,
        onPressed: () {},
      )),
actions: [
        Switch(value: true, onChanged: (val){
      callback(val);}),

      ],

      flexibleSpace: Container(
          decoration: myBoxDecoration(opacity)
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是从以下位置调用的:

bool _isOn = true;
(...)
Scaffold( …
Run Code Online (Sandbox Code Playgroud)

callback dart flutter

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