小编Ima*_*n H的帖子

使用C中的指针循环结构元素

我编写了这段代码来迭代结构的成员.它工作正常.我可以对具有混合类型元素的结构使用类似的方法,即一些整数,一些浮点数和......?

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

struct newData
{
    int x;
    int y;
    int z;
}  ;

int main()
{
    struct newData data1;
    data1.x = 10;
    data1.y = 20;
    data1.z = 30;

    struct newData *data2 = &data1;
    long int *addr = data2;
    for (int i=0; i<3; i++)
    {
        printf("%d \n", *(addr+i));
    }
}
Run Code Online (Sandbox Code Playgroud)

c pointers structure

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

在 flutter 和 flutter-blue 中授予蓝牙权限时出现问题

我使用flutter-blue包开发了一个简单的应用程序。该应用程序在调试模式下运行良好。现在我想发布一个发布APK以将其安装在其他设备上。

这是我的 Android 清单文件:

<uses-feature android:name="android.hardware.bluetooth" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

APK 已成功构建,但安装的应用程序无法运行。看来权限存在一些问题。

我尝试过以下各种 git 问题的解决方法:

  1. 构建时使用 --no-shrink 参数。导致 apk 文件更大,但没有任何变化。
  2. 使用权限处理程序包并将其添加到主函数中:

代码:

checkPerm() async {    
var status = await Permission.bluetooth.status;
if (status.isDenied) {
 
  await Permission.bluetooth.request();
}

if (await Permission.bluetooth.status.isPermanentlyDenied) {
  openAppSettings();
}

}
Run Code Online (Sandbox Code Playgroud)

和:

void main() {

  checkPerm();
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
      .then((_) {
    runApp(BleApp());
  });
}
Run Code Online (Sandbox Code Playgroud)

上述解决方案都不适合我。蓝色颤振错误是:开始扫描时出错

apk-debug 构建工作正常并授予权限。

基本信息:

minSdkVersion 19
targetSdkVersion 28 …
Run Code Online (Sandbox Code Playgroud)

flutter

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

将void指针作为C中的函数参数返回

我有一个返回数组的函数Data.数组的类型是intfloat.我想用void指针.如果outputType为0,则Data指向整数数组的指针,如果不是,则指向浮点数组.

是否可以在C中执行此操作?

void getData(void *Data , uint8_t outputType)
{
    ...

    int16_t acc[3]={0,0,0}; 

    ...

    acc[0] = (int16_t) ((data[1]*256+data[0]));
    acc[1] = (int16_t) ((data[3]*256+data[2]));
    acc[2] = (int16_t) ((data[5]*256+data[4]));

    Data = acc;

}
Run Code Online (Sandbox Code Playgroud)

在主要代码中:

int16_t output[3];
getData(output, 0);
Run Code Online (Sandbox Code Playgroud)

c pointers void

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

Spring Boot不会将@Autowired存储库注入netty类中

我有一个具有以下结构的 Spring Boot 应用程序:

  • com.test(根类)
  • com.test.jpa(JPA 实体和存储库)
  • com.test.netty(netty TCP 服务器)

根类是:

@ComponentScan(basePackages = {"com.test"})
//@EnableJpaRepositories
//@EntityScan
public class MyApplication {
...
Run Code Online (Sandbox Code Playgroud)

Netty服务器:

package com.test.netty;

@Service
@Slf4j
public class NettyServer {

    private EventLoopGroup boss = new NioEventLoopGroup();
    private EventLoopGroup work = new NioEventLoopGroup();

    @PostConstruct    
    public void start() {
        ServerBootstrap bootstrap = new ServerBootstrap();
        bootstrap.group(boss, work).channel(NioServerSocketChannel.class).localAddress(new InetSocketAddress(port))
//                  .option(ChannelOption.SO_BACKLOG, 1024)
                .handler(new LoggingHandler(LogLevel.INFO)).childOption(ChannelOption.SO_KEEPALIVE, true)
                .childOption(ChannelOption.TCP_NODELAY, true).childHandler(new ServerChannelInit());
        try {
            ChannelFuture future = bootstrap.bind().sync();
            if (future.isSuccess()) {
                log.info("Netty Server Started!");

            }
        } catch (InterruptedException …
Run Code Online (Sandbox Code Playgroud)

java jpa netty spring-boot

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

标签 统计

c ×2

pointers ×2

flutter ×1

java ×1

jpa ×1

netty ×1

spring-boot ×1

structure ×1

void ×1