小编Lau*_*enz的帖子

禁止特定的消毒剂检查,但对所有其他消毒剂的程序仍然失败

我想抑制第三方库中的一个错误,但在任何其他失败的检查中仍然有程序 exit 1。在我看来,无论文件内容-fno-sanitize-recover如何,​​都会退出程序。suppressions另一方面-fsanitize-recover,指定的错误被正确抑制,另一个错误仍然打印,但程序正常退出,这是我不想要的。

$ cat main.cpp
int main() {
  int k = 0x7fffffff;
  k++;      // signed-integer-overflow
  k <<= k;  // invalid-shift-exponent
  return 0;
}

$ clang++ -fsanitize=undefined -fno-sanitize-recover main.cpp -o main

$ cat supp.txt
signed-integer-overflow:main.cpp

$ UBSAN_OPTIONS=report_error_type=1,suppressions=supp.txt ./main
main.cpp:3:4: runtime error: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: signed-integer-overflow main.cpp:3:4 in

$ echo $?
1

$ clang++ -fsanitize=undefined -fsanitize-recover main.cpp -o main

$ UBSAN_OPTIONS=report_error_type=1,suppressions=supp.txt ./main
main.cpp:4:5: runtime …
Run Code Online (Sandbox Code Playgroud)

c++ clang sanitizer ubsan

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

获取 CAN 比特率

我想用 C++ 读取我的 socketcan 套接字当前配置的 CAN 比特率。

我可以通过以下方式查看比特率ip -det link show can0

9: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
    link/can  promiscuity 0 
    can state ERROR-ACTIVE restart-ms 100 
    bitrate 1000000 sample-point 0.750 
    tq 125 prop-seg 2 phase-seg1 3 phase-seg2 2 sjw 1
    pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
    clock 8000000
Run Code Online (Sandbox Code Playgroud)

比特率通过设置/etc/network/interfaces,但用户可以手动更改它。

libsocketcan 似乎只支持设置比特率,但不支持读取比特率。

其代码产生上面的输出iproute2rtnetlink。

如何使用libnetlink读取相应的属性?或者还有另一种读取当前比特率的方法吗?

c++ can-bus netlink c++11 socketcan

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

下一个大于但不等于输入的整数

是否有一个(Matlab)函数类似于ceil查找下一个大于输入但不等于输入的整数?

例子:

1.1 --> 2
1.9 --> 2
2.0 --> 3    (note that ceil(2) == 2)
2.1 --> 3
Run Code Online (Sandbox Code Playgroud)

我尝试过ceil(x+eps),但这只适用于少量:

>> ceil((-4:4)+eps)

ans =

-4    -3    -1     0     1     2     2     3     4
Run Code Online (Sandbox Code Playgroud)

另外,任何等效项floor

matlab ceil

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

Kubernetes 部署缺少 Kustomize 的哈希后缀

我是 Kubernetes 的新手。在我的项目中,我尝试使用 Kustomize 为我的部署生成 configMaps。Kustomize 在 configMap 名称后添加了一个哈希值,但我无法让它也更改部署以使用新的 configMap 名称。

部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: env-receiver-deployment
  labels:
    app: env-receiver-app
    project: env-project
spec:
  replicas: 1
  selector:
    matchLabels:
      app: env-receiver-app
  template:
    metadata:
      labels:
        app: env-receiver-app
        project: env-project
    spec:
      containers:
      - name: env-receiver-container
        image: eu.gcr.io/influxdb-241011/env-receiver:latest
        resources: {}
        ports:
        - containerPort: 8080
        envFrom:
        - configMapRef:
            name: env-receiver-config
        args: [ "-port=$(ER_PORT)", "-dbaddr=$(ER_DBADDR)", "-dbuser=$(ER_DBUSER)", "-dbpass=$(ER_DBPASS)" ]

Run Code Online (Sandbox Code Playgroud)

kustomize.yml:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
configMapGenerator:
- name: env-receiver-config
  literals:
  - ER_PORT=8080
  - ER_DBADDR=http://localhost:8086
  - ER_DBUSER=writeuser
  - …
Run Code Online (Sandbox Code Playgroud)

kubernetes kustomize

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

标签 统计

c++ ×2

c++11 ×1

can-bus ×1

ceil ×1

clang ×1

kubernetes ×1

kustomize ×1

matlab ×1

netlink ×1

sanitizer ×1

socketcan ×1

ubsan ×1