问题列表 - 第318003页

是否有一个平台没有本机指针大小的原子,但具有其他大小的原子?

我正在对广泛使用的开源库进行重构,并希望使其尽可能强大。

目前,如果支持的话,它会使用原子size_t变量,但我想知道它是否会错过一些不起眼的平台,例如,32 位原子同时具有 64 位指针。

c++ multithreading atomic cpu-architecture rust

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

为什么我的变量在除法时返回一个大负数?

我正在解决 cs50 的信用问题,我对一个部分的 for 循环感到困惑,因为我将一个长整数4003600000000014除以100,它返回一个大负数-1685133312。

这是实际的代码:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    long int number;
    long int temp;
    do
    {
        number = get_long("Number: ");
    } while (number < 0);

    temp = number;
    int counter = 1;
    for (int i = 10; i <= number; i = 10)
    {
        number /= i;
        counter += 1;
    }
    printf("%i\n", counter);

    int product = 0;
    int divisor = 100;
    int modulo = 0;
    //printf("%li\n", (temp % 100) …
Run Code Online (Sandbox Code Playgroud)

c integer-division cs50

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

InteractiveWebAssembly 页面似乎需要在服务器端和客户端都声明服务

我正在从 Blazor WebAssembly 项目迁移到 .net 8“Blazor Web App”项目,该项目支持客户端和服务器渲染内容。

我对 IoC 的工作方式有点困惑。这是文档没有提到的事情,但在全新的“Blazor Web App”项目上清楚地再现了这一点:对于定义为的页面@rendermode InteractiveWebAssembly(例如Counter.razor带有注入的服务,如@inject ITestIoc testIoc),我必须ITestIoc在两个位置定义服务:Program.cs客户端项目和Program.cs服务器项目,即使它只在 wasm 内部使用。ITestIoc如果我错过了一处,它会抛出服务未定义的异常。

可能发生的情况是,它InteractiveWebAssembly首先在服务器端渲染页面,然后通过 wasm 进行所有进一步的交互。因此,“Blazor Web App”中的 WebAssembly 似乎与常规 WebAssembly 项目中的处理方式有所不同。我知道还有另一种类型的 WebAssembly 类型的项目,仅支持 wasm,但我也希望可以使用服务器端。所以我想知道是否有任何办法可以解决这个问题,如果我想要某些页面仅进行 wasm 渲染,而根本不需要服务器渲染?

asp.net-core blazor blazor-server-side blazor-webassembly

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

如何在 C++ 中使用原始数组成员概括从 std::array 到 struct 的转换?

在 C++ 中,我有这个来自 C 的结构。这段代码非常旧,无法修改:

struct Point {
   double coord[3];
};
Run Code Online (Sandbox Code Playgroud)

另一方面,我有这个现代函数,它返回现代std::array而不是原始数组:

std::array<double, 3> ComputePoint();
Run Code Online (Sandbox Code Playgroud)

目前,为了Point从返回值初始化 a,我手动从 中提取每个元素std::array:

std::array<double, 3> ansArray{ComputePoint()};
Point ans{ansArray[0], ansArray[1], ansArray[2]};
Run Code Online (Sandbox Code Playgroud)

这个解决方案是可行的,因为只有三个坐标。我可以将其模板化为一般长度吗?我想要类似相反的转换:std::to_array。

c++ arrays aggregate initialization stdarray

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

对列表中两个字符串之间的元素求和

str我有一个和元素列表int,如下所示

L = [1, "a", "b", 1, 2, 1, "d", 1, "e", 4, 5, "f", "g", 2]
Run Code Online (Sandbox Code Playgroud)

我想总结两个字符串元素之间找到的数字,因此预期的输出结果如下。

[1, "a", "b", 4, "d", 1, "e", 9, "f", "g", 2]
Run Code Online (Sandbox Code Playgroud)

我想以Pythonic的方式解决这个问题。如何做到这一点?

python

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

将消息发送到生成的窗口 - 等待身份验证

我的应用程序使用假网址只是为了我们理解www.myapp.com需要在假网址www.myredirect.com处生成一个弹出窗口。

一旦到达www.myredirect.com ,页面就会自动重定向到另一个 url,我们将其称为www.myfinalurl.com。Www.myredirect.com 服务确保将页面重定向到www.myfinalurl.com,并添加一些查询字符串,例如www.myfinalurl.com?myparam=thisvalue。

我是www.myfinalurl.com和www.myapp.com的所有者,因此我可以在两者中编写 javascript 代码。

我需要从www.myapp.com捕获URL 中包含的www.myfinalurl.com的查询字符串,但是由于跨源策略,我无法直接执行此操作,因此我必须使用 postmessages 来执行此操作。

然而,一旦打开www.myredirect.com的窗口,可能会要求用户登录,这个过程需要不固定的秒数,所以我必须等待重定向发生才能继续。此外,www.myapp.com是在会话(www.myapp.com/s/mysession123)中执行的,这意味着它的 url 不是固定的。

该过程通常是:

  • myapp.com 向位于 myfinalurl.com 的固定 url 发送一条 postmessage
  • myapp.com 开始监听返回的 postmessages
  • myfinalurl.com 记录收到的消息的来源
  • myfinalurl.com 发回一条包含其 url 的 postmessage
  • myapp.com 收到来自 myfinalurl 的 postmessage 并停止监听

然而,这里的问题是,虽然流程通常可以正常工作,但在我的情况下,步骤 1 必须在正确的时间发送,但是它会丢失,因为当重定向仍然存在时,消息将被发送到不存在的 Web 服务即将发生。

我在这里询问是否有可能的解决方法,以及您认为最好的解决方法是什么。

我想也许我可以每隔 x 秒将初始的 postmessage 从 myapp.com 发送到 myfinalurl.com ,直到我收到回复。这被认为是一种不错的做法吗?

所有可能的内置侦听器似乎都被跨源策略阻止。

当然,我尝试询问不同的人工智能,但还没有找到答案。

这是我迄今为止最好的尝试,在发送消息之前等待 …

javascript postmessage

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

实现接口的 CRTP 类的 sizeof

我有一个关于sizeof使用 CRTP 实现接口的类实例的问题,如下例所示。

#include <iostream>
class Interface
{
public:
    virtual int foo() {
        std::cout << "Interface\n";
        return 0;
        };
};

template <class Derived>
class Base : Interface
{
public:
    virtual int foo() override {
        Interface::foo();
        std::cout << "base\n";
        return static_cast<Derived*>(this)->bar2;
        }
    int bar;
};

class Derived : public Base<Derived>
{
public:
    virtual int foo() override {
            std::cout << "Derived\n";
        Base<Derived>::foo();
        return bar;
    }
    int bar2;
};

int main()
{
    std::cout << sizeof(Base<Derived>) << '\n';
    std::cout << sizeof(Derived) << …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism class vtable object-layout

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

React Native:“错误无法在新窗口中启动服务器,因为未指定终端应用程序”

更新到 React Native v73.1 后,尝试在 Windows 中运行该应用程序时出现以下错误:

错误无法在新窗口中启动服务器,因为未指定终端应用程序。

我该如何修复它?

在 Mac 机器上,没有任何问题。只有 Windows 面临这个问题。

windows microsoft-metro react-native

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

如何解决 Spring Boot 3.2.0 和 java 17 中的 netflix eureka 客户端错误

我正在尝试使用 java 17 在新的 spring boot 3.2.0 应用程序中配置 eureka 客户端,并在运行时出现以下错误。

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'scopedTarget.eurekaClient' defined in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration$RefreshableEurekaClientConfiguration.class]: Unsatisfied dependency expressed through method 'eurekaClient' parameter 3: No qualifying bean of type 'com.netflix.discovery.shared.transport.jersey.TransportClientFactories<?>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我正在使用下面的 Maven 依赖项,没有其他配置。

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
   <version>4.1.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

请注意,如果我删除此依赖项,我不会看到任何错误。\

主班

@SpringBootApplication
public class SpringBoot3Java17Application {

    public static void main(String[] args) {
        SpringApplication.run(CommissionManagerApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

application.properties:(并且还需要应用程序如何跟踪本地运行的尤里卡服务器的帮助)

eureka.client.service-url.defaultZone=http://admin:alined@localhost:8761/eureka/
Run Code Online (Sandbox Code Playgroud)

应用程序已启动但未向 Eureka …

java spring-boot netflix-eureka

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

Boyer Moore 算法简单版本中的未定义行为

我正在尝试编写没有前缀函数的博耶摩尔算法的更简单版本。它必须打印与模式进行比较的符号的所有位置。在本地它通过了测试,但是当我将其提交到gitlab时它失败了。我在这里无法发现未定义的行为。我最后有垃圾。

#include <stdio.h>

#define MAX_PATTERN_LEN 16
#define BUF_SIZE 69
#define ALPH_SIZE 128

int read_str(int max_len, unsigned char *str_place) {
    int count_read = 0;
    for (int i = 0, ch; i < max_len; i++) {
        if ((ch = getchar()) == '\n') {
            str_place[i] = '\0';
            break;
        }
        str_place[i] = (char)ch;
        count_read++;
    }
    return count_read;
}

void calculate_shifts(const unsigned char *str, int len_str, int *badchar) {
    for (int i = 0; i < ALPH_SIZE; i++)
        badchar[i] = len_str;
    for (int i = …
Run Code Online (Sandbox Code Playgroud)

c undefined-behavior boyer-moore

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