小编Dan*_*tir的帖子

Dart C 互操作性。将整数数组传递给 C 函数

我现在正在学习 Dart,并且正在研究 Dart 与 C 的互操作性。我能够使用带有两个 int 参数的 C 方法。代码如下:

你好.dart

import 'dart:ffi' as ffi;

typedef sum_func = ffi.Int32 Function(ffi.Int32 a, ffi.Int32 b);
typedef Sum = int Function(int a, int b);
...
final dylib = ffi.DynamicLibrary.open(path);
final sumPointer = dylib.lookup<ffi.NativeFunction<sum_func>>('sum');

final sum = sumPointer.asFunction<Sum>();
print('3 + 5 = ${sum(3, 5)}');
Run Code Online (Sandbox Code Playgroud)

你好ç

int sum(int a, int b){
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

你好.h

int add(int x, int y)
Run Code Online (Sandbox Code Playgroud)

你好.def

LIBRARY   hello
EXPORTS
   sum
Run Code Online (Sandbox Code Playgroud)

这一切都运行得很好,但我还想要一个maxC 方法,它将 int 数组作为输入并返回最大的数字。我怎样才能做到这一点?我已经用 C 实现了所有必需的代码,但我不确定如何将其与 …

c interop ffi dart dart-ffi

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

ESLint规则禁止在JSX中使用Object Literals

本文说:小心JSX中的对象文字

一旦您的组件变得更"纯粹",您就会开始检测导致无用重新渲染的错误模式.最常见的是在JSX中使用对象文字,我喜欢称之为"臭名昭着的{{".让我给你举个例子:

import React from 'react'; 
import MyTableComponent from './MyTableComponent';

const Datagrid = (props) => (
     <MyTableComponent style={{ marginTop: 10 }}>
         ...
     </MyTableComponent> 
 )
Run Code Online (Sandbox Code Playgroud)

每次呈现组件时,组件的样式prop都会获得一个新值.因此,即使是纯粹的,也会在每次呈现时呈现.实际上,每次将对象文字作为prop传递给子组件时,都会破坏纯度.解决方案很简单:

import React from 'react'; 
import MyTableComponent from  './MyTableComponent';

const tableStyle = { marginTop: 10 }; 

const Datagrid = (props) => (
     <MyTableComponent style={tableStyle}>
         ...
     </MyTableComponent> 
) 
Run Code Online (Sandbox Code Playgroud)

这看起来非常基本,但我已经多次看到这个错误了,我已经发现了检测臭名昭着的{{在JSX中.我经常用常量替换它.

所以我的问题是,是否有任何规则阻止在jsx中使用对象文字?

我想找一个,但还没有结果.

lint reactjs eslint

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

标签 统计

c ×1

dart ×1

dart-ffi ×1

eslint ×1

ffi ×1

interop ×1

lint ×1

reactjs ×1